Django主页URL呈现为其他URL

因此,我为正在处理的django项目提供了一个简单的主页。左上角是该站点的徽标。在我的模板中,我有以下代码:


<a href="{% url "home" %}">Company Name</a>


在我的根urls.py中,我有以下内容:


from django.conf.urls import patterns, include, url

urlpatterns = 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, url

from app import views


urlpatterns = 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配置中,但我可能是错的。


哔哔one
浏览 218回答 2
2回答

心有法竹

发生这种情况是因为您要app.urls 在两个相对路径(即/和)下包含相同的文件/login。因此,正确的url名称定义只是被覆盖。为避免这种情况,请勿在两个相对路径下包含相同的url配置文件。因此,在您的情况下,您应该创建一个新的url配置文件(例如login.urls),将与登录相关的url定义移至该新文件,然后将根url配置替换为from django.conf.urls import patterns, urlfrom app import viewsurlpatterns = patterns('',&nbsp; &nbsp; url(r'^$', include('app.urls')),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # The main app&nbsp; &nbsp; url(r'^login/$', include('login.urls')),&nbsp; &nbsp; &nbsp;# The login page)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python