有一些奇怪的东西在django 1.4中使用URL反转代码。
我有一个名为settings.views.app_view
的视图。我通过手动输入URL来查看页面,以验证基本URL模式是否正常工作。
url(r'^app/$', 'settings.views.app_view', name='settings_app_view'),
我已经在模板中撤消了网址并且有效。
{% url settings_app_view %}
因此,URL模式有效,我可以调用模板中的URL,单击链接并查看正确的页面。
那么为什么我不能使用reverse()在视图中获取URL?所有代码都清晰存在,不仅如此,它已经清楚地配置并且正常工作,因为我已经看到了页面并在模板中颠倒了URL。
我必须错过一些小事;有谁知道它是什么?
ViewDoesNotExist at /settings/app/
Exception Value: Could not import settings.views.app_view. View does not exist in module settings.views.
# The highlighted code
url = reverse("settings_app_view")
答案 0 :(得分:3)
你的代码中究竟在哪里执行reverse()?如果在导入python文件期间执行reverse(),则可以进行递归导入。遗憾的是,递归导入可能会产生不同的结果:AttributeError可能发生在应该具有此属性的模块上....
请参阅:https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse-lazy