gpt4 book ai didi

python - django-cms apphook url 不适用于使用 Python shell 的 reverse()

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:53 25 4
gpt4 key购买 nike

我已经创建了一个 django CMS apphook。不幸的是,我无法使用 Python shell 反转 apphook url。

cms_app.py 文件如下所示:

class ArticleApp (CMSApp):
name = _('Article App')
app_name = 'article_app'
urls = ['article.urls']

apphook_pool.register(ArticleApp)

这是我的urls.py 文件:

urlpatterns = patterns('',
url(r'^(?P<slug>[\w\-]+)?', ArticleView.as_view(), name='article-by-slug'),
)

模板文件是:

{% url 'article_app:article-by-slug' article.slug %}

模板内的 URL 反向执行符合预期。如果我尝试使用 Python shell 执行相同的操作,我会收到一条错误消息:

>>> from django.core.urlresolvers import reverse
>>> from article.models import Article
>>> a = Article.objects.get(pk=1)
>>> reverse('article_app:article-by-slug', kwargs={'slug': a.slug})
# Reverse for 'article_app:article-by-slug' with arguments '()' and keyword arguments '{'slug': 'this-is-article-1'}' not found.

在主 urls.py 中定义的其他 url 的工作方式与 shell 中预期的一样。只有 apphook 网址不起作用。

有什么建议吗?

谢谢!

最佳答案

感谢@Benjamin Wohlwend 我能够解决这个问题。 apphook 页面在“en-us”语言(Django 管理命令如“shell”的默认设置)中不可用。我必须在逆向之前激活正确的语言:

from django.utils import translation
translation.activate('de')

关于python - django-cms apphook url 不适用于使用 Python shell 的 reverse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25342857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com