擅长:python、mysql、java
<p>在您描述的设置中,登录url不是<code>'site.com/login/login/signup'</code>,而是<code>'site.com/login/signup'</code>。第二个<code>'login/'</code>来自哪里?</p>
<p>你建议的解决方案</p>
<pre><code>urlpatterns = [
url(r'^$', include('login.urls')),
url(r'^$', include('org.urls')),
]
</code></pre>
<p>如果两个应用程序中没有出现相同的url,则通常可以工作。但这并不理想,因为登录urs中的所有模式都将不必要地尝试用于所有请求。</p>
<p>因此,您可能需要考虑删除<code>specific_app.urls</code>内部前缀,特别是当这些前缀对于应用程序的所有视图都相同时。把它交给任何人使用并包含他们想要在哪个路径下包含该应用程序(这里是:mysite.url)。</p>
<pre><code># login/urls.py
urlpatterns = [
# no 'login' prefix here. Includers know which app
# they are including and how they want do that.
url(r'^signup/$', login_views.signup, name='signup'),
]
# org/urls.py
urlpatterns = [
# same: no 'org' prefix
url(r'^add/$', views.addorg, name='addorg'),
]
# mysite.urls.py
urlpatterns = [
url(r'^login/$', include('login.urls')),
url(r'^organizations/$', include('org.urls')),
]
</code></pre>
<p>生成的URL将是:</p>
<pre><code>site.com/login/signup
site.com/organizations/add
</code></pre>