2017-08-08 11 views
1

私の現在のプロジェクトのURLファイルは、特定のアプリのフォルダに空のURLをリダイレクトし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。なぜこれが起こっているのですか?これをどのように解決できますか?

答えて

1

ブラウザのキャッシュを完全に消去しようとすると、正常に動作するはずです。

related questionを参照してください。

+0

ありがとうございます。それはうまくいった! – Sharan

+0

あなたは大歓迎です! :) –

0

両方のプロジェクトが同じ依存関係を使用し、同じディレクトリ構造である場合は、new_project/url.pyファイルにあなたのold_project URLをインポートし、urlpatternsリストに古いURLを追加する必要があります。

依存関係が異なる場合は、すべてがデプロイメント構成に含まれます。 Webサーバーは、クライアントが要求するURLに応じて、1つまたは別のプロジェクトを実行するように構成する必要があります。インフラストラクチャー、Webサーバーなどによって、それを変更する方法が大きく変わるので、より具体的にする必要があります。

+0

同じ依存関係と同じディレクトリ構造。あなたは一例を示してもらえますか? – Sharan

関連する問題