Django自动重定向到不同项目的url文件夹

时间:2017-08-08 11:23:23

标签: python django

我当前的项目网址文件将空网址重定向到某个应用文件夹

NEW_PROJECT / url.py

from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
from django.views.generic import RedirectView

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^accounts/', include('django.contrib.auth.urls')),
    url(r'^new_app/', include('new_app.urls')), 
    url(r'^$', RedirectView.as_view(url='/new_app/', permanent=True)),
]

我有另一个使用类似urlpattern的旧项目: old_project / urls.py

urlpatterns = [
    url(r'^$', RedirectView.as_view(url='/old_app/', permanent=True)),
]

但是当我尝试打开新项目网站(www.new_project.com/)时,我收到404错误。该错误表示将urlpatterns与旧项目字符串(old_app /)

进行比较

错误页面:

Using the URLconf defined in new_project.urls, Django tried these URL patterns, in this order:

1. ^admin/
2. ^accounts/
3. ^new_app/
4. ^$


The current path, old_app/, didn't match any of these. 

我的所有项目都使用相同的重定向文件夹。我猜这与我使用permanet=True的方式有关。为什么会发生这种情况?如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

尝试完全清除浏览器缓存,它应该可以正常工作。

related question

答案 1 :(得分:0)

如果两个项目使用相同的依赖项并且位于相同的目录结构中,则需要将old_project网址导入new_project/url.py文件,并将旧网址添加到urlpatterns列表中。< / p>

如果它们具有不同的依赖关系,那么一切都在您的部署配置中。 Web服务器应配置为运行一个或另一个项目,具体取决于客户端要求的URL。如何根据您的基础设施,Web服务器等进行更改,因此您需要更加具体。