Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:为什么我可以反转模板中的URL而不是视图中的URL?_Django_Django Urls - Fatal编程技术网

Django:为什么我可以反转模板中的URL而不是视图中的URL?

Django:为什么我可以反转模板中的URL而不是视图中的URL?,django,django-urls,Django,Django Urls,django 1.4中的URL反转代码出现了一些奇怪的情况 我有一个名为settings.views.app\u view的视图。我通过手动输入URL来查看页面,以验证基本URL模式是否正常工作 url(r'^app/$', 'settings.views.app_view', name='settings_app_view'), 我在一个模板中反转了URL,它可以工作 {% url settings_app_view %} 因此,URL模式可以工作,我可以调用获取模板中的URL,单击链接并

django 1.4中的URL反转代码出现了一些奇怪的情况

我有一个名为
settings.views.app\u view
的视图。我通过手动输入URL来查看页面,以验证基本URL模式是否正常工作

url(r'^app/$', 'settings.views.app_view', name='settings_app_view'),
我在一个模板中反转了URL,它可以工作

{% 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")

reverse()在代码中的具体位置执行?如果在导入python文件期间执行reverse(),则可以获得递归导入。不幸的是,递归导入可能会产生不同的结果:AttributeError可能发生在应该具有此属性的模块上


请参阅:

是的,你完全正确。我把reverse()放在视图定义之外,因为它只是几个视图的填充。把它移到定义里,一切都清楚了我会读一读“懒洋洋”,谢谢。