Django 网址配置

Posted

技术标签:

【中文标题】Django 网址配置【英文标题】:Django urls conf 【发布时间】:2011-02-18 14:58:19 【问题描述】:

所以现在我还在 Django 教程第 3 部分:

http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03

尝试使用教程提供的这段代码设置 urls.py

from django.conf.urls.defaults import *

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/$', 'mysite.polls.views.index'),
    (r'^polls/(?P<poll_id>\d+)/$', 'mysite.polls.views.detail'),
    (r'^polls/(?P<poll_id>\d+)/results/$', 'mysite.polls.views.results'),
    (r'^polls/(?P<poll_id>\d+)/vote/$', 'mysite.polls.views.vote'),
    (r'^admin/', include(admin.site.urls)),
)

如果我使用此代码更改我的默认 urls.py(其中没有任何内容),则会显示 127.0.0.1:8000/polls/,但由于某种原因 127.0.0.1:8000/admin 不再存在并给我以下错误:

异常类型:TemplateSyntaxError 异常值:渲染时捕获异常:尝试在模块 mysite.polls.views 中投票。错误是:“模块”对象没有属性“投票”

And this (Error line 30): 

Caught an exception while rendering: Tried vote in module mysite.polls.views. Error was: 'module' object has no attribute 'vote'
20  <!-- Header -->
21  <div id="header">
22  <div id="branding">
23  % block branding %% endblock %
24  </div>
25  % if user.is_authenticated and user.is_staff %
26  <div id="user-tools">
27  % trans 'Welcome,' %
28  <strong>% firstof user.first_name user.username %</strong>.
29  % block userlinks %
**30    % url django-admindocs-docroot as docsroot %**
31  % if docsroot %
32  <a href=" docsroot ">% trans 'Documentation' %</a> /
33  % endif %
34  % url admin:password_change as password_change_url %
35  % if password_change_url %
36  <a href=" password_change_url ">
37  % else %
38  <a href=" root_path password_change/">
39  % endif %
40  % trans 'Change password' %</a> / 

在我看来错误应该在这里:

(r'^admin/', 包括(admin.site.urls)),

但我找不到它。

感谢关注!!

【问题讨论】:

【参考方案1】:

只是django似乎在你的模块views中找不到函数vote

【讨论】:

谢谢!这段代码究竟做了什么? (r'^polls/(?P\d+)/vote/$', 'mysite.polls.views.vote') 我理解它的正则表达式,但仅此而已。奇怪的是,民意调查网站可以工作,但管理网站却不行。我不明白那部分。我在教程后面看到他们创建了一个投票函数。 这是一个正则表达式,用于选择将调用哪个视图函数。如果 url 与正则表达式匹配,则调用函数 'mysite...'。

以上是关于Django 网址配置的主要内容,如果未能解决你的问题,请参考以下文章

django 配置完成后无法打开链接

当静态文件的realative引用不包含'static'时,如何在Django中配置设置?

Django学习——静态文件配置

如何使用 Django 显示用户配置文件? [关闭]

Django REST - 如何正确配置 URL 查找字段?

Django入门学习--配置路由URL