2017-08-08 46 views
1

我的當前項目的URL重定向文件的URL空到一定app文件夾Django的自動重定向到其他項目的URL文件夾

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錯誤。錯誤說URL模式正在與一個老項目的字符串(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有關。爲什麼會發生這種情況,以及如何解決這個問題?

回答

1

儘量清除您的瀏覽器緩存,它應該工作。

看到related question

+0

謝謝。這工作! – Sharan

+0

不客氣! :) –

0

如果兩個項目使用相同的依賴關係並且處於相同的目錄結構中,則需要將old_project網址導入new_project/url.py文件,並將舊網址添加到urlpatterns列表中。

如果他們有不同的依賴關係,那麼一切都在您的部署配置中。 Web服務器應該配置爲運行一個或另一個項目,具體取決於客戶端要求的URL。如何做到這一點取決於你的基礎設施,網絡服務器等等,所以你需要更具體。

+0

相同的依賴關係和相同的目錄結構。你能舉個例子嗎? – Sharan

相關問題