首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django_registration urls与路由混淆

django_registration urls与路由混淆
EN

Stack Overflow用户
提问于 2016-05-19 23:38:29
回答 2查看 115关注 0票数 0

我是Django的新手,所以我正在学习它是如何工作的,我有一个相当不错的网络应用程序站起来,我在玩django_registration插件。让我感到困惑的是,模板驻留在根站点/registration中,我可以像这样从URL中访问它们:

代码语言:javascript
运行
复制
<a href="{% url 'registration_register' %}">

所以我想我可以在注册的每件事上都这么做,但事实并非如此,因为这是行不通的:

代码语言:javascript
运行
复制
<a href="{% url 'registration_login' %}">

搞不懂其中一个的工作原理,而不是另一个(我有点来自于rails背景,我可以看到那里的路线)--这是我学习困难的地方,这是在我的应用程序中的一些urls使用mysite:polls等和分号(我想我得到的)混淆在那些不存在应用程序命名空间的地方之后(可以这么说)。

或者registration_login的工作,我真的只是做了一些错误的模板设置,或urls.py或其他什么?只是想了解一下背景。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 23:56:24

编辑:刚刚看到是login url给了你这个问题。我将保留关于registration_register的另一节,以备将来参考,以防有用。

登录的url位于这里,名为auth_login

registration_register位:

您是否在您的INCLUDE_REGISTER_URL文件中将settings.py设置为False?

检查位于这里的urls的源代码,您将看到以下片段

代码语言:javascript
运行
复制
if getattr(settings, 'INCLUDE_REGISTER_URL', True): #Defaults to True
    urlpatterns += [
        url(r'^register/$',
            RegistrationView.as_view(),
            name='registration_register'),
    ]
票数 1
EN

Stack Overflow用户

发布于 2016-05-20 00:43:04

在Django中,当您使用{% url 'registration_login‘%}之类的内容时,您指的是给定应用程序的url文件中的路由。如果url路由有name=registration_login,这很好。

因此,您提到了如何访问模板,但实际上只是在URL中指定路由,而不是模板。然后,路由指定要加载哪个视图,然后设置将要使用的模板HTMl文件。

因此,在上面的示例中,您需要查看应用程序的URL文件(或文档),看看它们给出了使用{% url %}的路径的名称。如果没有指定名称,则只需使用实际的url "/login/“(或其他任何名称),就像在任何其他锚标记中一样。

我不知道你在使用哪个django_registration应用程序,但是Django有一个可以使用的django.contrib.auth应用程序。对于它的url文件,您会发现登录url路由名为" login ",因此可以使用{% url "login“%}。

要获得更多信息,请查看这些文档:https://docs.djangoproject.com/en/1.9/topics/auth/default/

哦,关于在某些情况下引用的名称空间的问题,(即mysite:polls):这是在带有app_name的urls文件中设置的内容。因此,如果轮询应用程序在app_name=polls中有urls.py,那么您就可以说{% url‘urls.py:vote’‘%}。如果您正在使用许多应用程序,这是很好的,在一个完整的Django站点中几乎总是如此。

使用{% url %}模板标记很好,因为如果url更改,则不必更改整个站点的链接。但是,正如我前面提到的,您可以像在标准HTML锚href中一样直接引用url。您不必使用{% url %}

有关这方面的更多信息,请访问:https://docs.djangoproject.com/en/1.9/topics/http/urls/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37335738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档