<p>你困惑的主要部分是你期待着每一个网址.py尝试匹配整个url,但是您可以将<code>include</code>想象为执行字符串连接,并将url的前一部分与下一部分中的url部分连接起来网址.py你知道吗</p>
<hr/>
<p>当django试图匹配一个url时,它会沿着regex列表向下移动,直到找到一个匹配的正则表达式,因此您可以看到以下内容</p>
<pre><code>r'^ytlinks/' + r'^ytlinks/' ==> views.ytlinks
r'^ytlinks/' + r'^$' ==> views.index
r'^$' + r'^ytlinks/' ==> views.ytlinks (not quite!)
r'^$' + r'^$' ==> views.index(not quite!)
</code></pre>
<p>所以第一个匹配的是第二个url。<code>$</code>在regex中表示一个字符串的结尾,所以这里不必检查它后面的任何内容,这样就可以排除最后两个regex。你知道吗</p>
<p>所以你的计划是三重的</p>
<ol>
<li><p>删除第一个正则表达式所需的链接/URL</p>
<pre><code>url(r'^ytlinks/', views.ytlinks, name='ytlinks'),
</code></pre></li>
<li><p>您需要从另一个文件夹的包含url中删除$网址.py你知道吗</p>
<pre><code>url(r'^', include('links.urls')),
</code></pre></li>
<li><p>您需要修改每个链接应该指向的视图,以便最终得到以下结果</p>
<p>根\网址.py你知道吗</p>
<pre><code>urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^ytlinks/', include('links.urls')),
url(r'^', views.index, name='index'),
]
</code></pre>
<p>链接\网址.py你知道吗</p>
<pre><code>urlpatterns = [
url(r'^$', views.ytlinks, name='ytlinks'),
]
</code></pre></li>
</ol>