【NB】命名空间URL名称

[复制链接]
查看542 | 回复0 | 2022-11-14 08:17:25 | 显示全部楼层 |阅读模式


本教程项目只有一个应用程序 - polls。在实际的Django项目中,可能有五个,十个,二十个或更多的应用程序。Django 如何区分它们的URL的名称? 例如,投票应用程序有一个详细视图,因此可能会在一个博客的同一个项目也有相同的应用程序。如何使用 {% url %} 模板标签让Django知道创建一个URL哪些应用有这样视图?

答案就是将命名空间添加到URLconf。在polls/urls.py文件,继续前进,添加应用程序名称设置应用程序命名空间,打开 polls/urls.py:

from django.conf.urls import url

from . import views

app_name = 'polls'
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]

现在修改 polls/index.html 模板,打开 polls/templates/polls/index.html 文件添加以下代码:

<li><ahref="{%url'detail'question.id%}">{{question.question_text}}</a></li>
使其指向在命名空间 detail 视图,打开 polls/templates/polls/index.html 文件如下:

<li><ahref="{%url'polls:detail'question.id%}">{{question.question_text}}</a></li>

aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则