为了账号安全,请及时绑定邮箱和手机立即绑定

Django主页URL呈现为其他URL

Django主页URL呈现为其他URL

哔哔one 2021-03-29 08:19:25
因此,我为正在处理的django项目提供了一个简单的主页。左上角是该站点的徽标。在我的模板中,我有以下代码:<a href="{% url "home" %}">Company Name</a>在我的根urls.py中,我有以下内容:from django.conf.urls import patterns, include, urlurlpatterns = patterns('',   url(r'^$', include('app.urls')),          # The main app   url(r'^login/$', include('app.urls')),     # The login page)在我的app / urls.py中,我有这个:from django.conf.urls import patterns, urlfrom app import viewsurlpatterns = patterns('',      url(r'^$', views.index, name='home'),             # The homepage of the website      url(r'^login/$', views.loginView, name='login'),  # The login page of the website)现在您会认为(或者至少我会认为),当呈现索引页时,它将生成html<a href="/">Company Name</a>或类似内容。相反,我得到的是<a href="/login/">Company Name</a>。那么,为什么会发生呢?显然,这是不想要的行为。我几乎可以肯定问题出在url配置中,但我可能是错的。
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

发生这种情况是因为您要app.urls 在两个相对路径(即/和)下包含相同的文件/login。因此,正确的url名称定义只是被覆盖。


为避免这种情况,请勿在两个相对路径下包含相同的url配置文件。因此,在您的情况下,您应该创建一个新的url配置文件(例如login.urls),将与登录相关的url定义移至该新文件,然后将根url配置替换为


from django.conf.urls import patterns, url

from app import views


urlpatterns = patterns('',

    url(r'^$', include('app.urls')),          # The main app

    url(r'^login/$', include('login.urls')),     # The login page

)


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 217 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号