编写一个 404 ( 页面未找到 ) 视图当你在视图中抛出 通常你不必费心去编写 404 视图。若你没有设置 一些有关 404 视图需要注意的事项 :
编写一个 500 ( 服务器错误 ) 视图类似的,你可以在 root URLconf 中定义 同样,你在模板根目录下创建一个 使用模板系统回到我们 poll 应用的 <h1>{{ poll.question }}</h1>
<ul>
{% for choice in poll.choice_set.all %}
<li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>
模板系统使用了“变量.属性”的语法访问变量的属性值。 例如 在 请参阅 模板指南 来了解模板的更多内容。 移除模板中硬编码的 URLS记得吗? 在 <li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
问题出在硬编码,紧耦合使得在大量的模板中修改 URLs 成为富有挑战性的项目。 不过,既然你在 <li><a href="{% url 'detail' poll.id %}">{{ poll.question }}</a></li>
Note 如果 {% load url from future %}
其原理就是在 ...
# 'name' 的值由 {% url %} 模板标记来引用
url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),
...
如果你想将 polls 的 detail 视图的 URL 改成其他样子,或许像 ...
# 新增 'specifics'
url(r'^specifics/(?P<poll_id>\d+)/$', views.detail, name='detail'),
...
Namespacing URL names URL 名称的命名空间 ====================== 本教程中的项目只有一个应用: 答案是在你的 root URLconf 配置中添加命名空间。在 from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^polls/', include('polls.urls', namespace="polls")),
url(r'^admin/', include(admin.site.urls)),
)
现在将你的 <li><a href="{% url 'detail' poll.id %}">{{ poll.question }}</a></li>
修改为包含命名空间的 detail 视图: <li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li>
|
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2025-1-8 13:58 , Processed in 0.019058 second(s), 17 queries .