2

我的 wagtail 管理界面有问题。在我的 urls.py 我这样说:

url(r'^cms-admin/', include(wagtailadmin_urls)),
url(r'^cms-search/', include(wagtailsearch_frontend_urls)),
url(r'^cms-documents/', include(wagtaildocs_urls)),   
url(r'', include(wagtail_urls)),

除了用户链接(/cms-admin/users/)之外的所有链接都可以正常工作。当我转到 /cms-admin/users/ 时,我收到以下错误:

NoReverseMatch at /cms-admin/users/
Reverse for 'wagtailusers_edit' with arguments '(-1L,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['cms-admin/users/(\\d+)/$']

再往下看,我看到 Django 尝试渲染模板并且该行存在问题:

 <a href="{% url 'wagtailusers_edit' user.id %}">{{ user.get_full_name|default:user.username }}</a>

有谁知道我做错了什么?

谢谢玛格达

编辑

好的,我自己发现了 - 问题是我有一个 ID 为 -1 的匿名用户,而 wagtail 使用该模式:['cms-admin/users/(\\d+)/$']. 我仍然不知道如何解决这个问题。

4

1 回答 1

0

Django 有一个AnonymousUser看起来像模型对象但没有存储在数据库中的类,我假设你没有使用这个。

您要允许编辑此匿名用户吗?

如果是,您可以编辑现有的urlpatterns,找到适当的RegexURLPattern对象并将其替换为具有不同正则表达式的相同对象。

如果没有,您可以考虑限制相关视图接​​收的查询集并过滤掉您的匿名用户。

于 2014-08-22T12:54:03.823 回答