<分区>
我想知道,当使用 url (from django.conf.urls import url)
时,name = 'insert-something'
是什么意思?例如,在为注册新用户制作 url 时:
url(r'^register', views.register, name='register')
这里的name='register'是什么意思?为什么有必要?
谢谢!
<分区>
我想知道,当使用 url (from django.conf.urls import url)
时,name = 'insert-something'
是什么意思?例如,在为注册新用户制作 url 时:
url(r'^register', views.register, name='register')
这里的name='register'是什么意思?为什么有必要?
谢谢!
最佳答案
该名称用于从您的 Django/Python 代码访问该 url。例如你在 urls.py
url(r'^main/', views.main, name='main')
现在每次你想重定向到主页时,你可以说
redirect('app.main')
其中 app
是 main 所在的 django-app 的名称。或者您甚至可以将它用于 html 模板中的链接,例如
<a href="{% url 'app.main' %}">Go to main</a>
例如,这会将您链接到 www.example.com/main
。你当然可以做
redirect('http://www.example.com/main')
或
<a href="http://www.example.com/main">Go to main</a>
分别,但例如你想更改域或 main/
路由。如果所有 url 都在您的项目中进行硬编码,那么您将不得不在每个地方进行更改。但是,如果您改用 url name
属性,则只需更改 urls.py
中的 url 模式即可。
关于python - Django-url 中的 "name"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729889/