2016-11-11 1 views
0

終了した同僚からDjango Webアプリケーションを引き継いだ。現在、アプリのユーザーは次のように、それをアプリにログインして使用することは非常に長いURLを入力する必要がありますベースのに対しDjangoで特定のページへの前方のベースURL

http://myapp.company.com/djangoapp/mydir/login

(で正しい用語?)

のURL http://myapp.company.com/

は何も指摘しません。だから今、彼らは http://myapp.company.com/djangoapp/mydir/login

http://myapp.company.com/自動的に転送することを伝えたい

は十分に簡単に聞こえると私はHTMLやSpringフレームワークでそれを行うことができますが、ジャンゴと、私はこれを理解できないようです。私はurls.pyを編集する必要があると感じていますが、どのような方法でそうするのか分かりません。

私はDjangoアプリとそれをホストするサーバーにアクセスできますが、ドメインを管理するためのcPanelや簡略化ツールは嫌です。ドメイン自体は、遠く離れたある部門の未知のIT担当者によって設定され、所有されています。

答えて

1

django RedirectViewを指すURLを作成します。

たとえば、

urls.py 

url(_(r'^$'), LoginRedirectView.as_view(), name='redirect-to-login') 

views.py 

class LoginRedirectView(RedirectView): 
    pattern_name = 'redirect-to-login' 
    def get_redirect_url(self, *args, **kwargs): 
     return '/djangoapp/mydir/login' 

それとも、直接最も簡単なログインを強制するために、あなたのインデックスにデコレータを追加するために、おそらくです

from django.views.generic.base import RedirectView 

url(r'^$', RedirectView.as_view(url='http://myapp.company.com/djangoapp/mydir/login'), name='login-redirect') 
+0

ありがとうございます。これは正しいと思う、それを試してみましょう。 +1。最初のようなものは、urlpatternsの一部ですよね?現在、メインフォルダに 'urls.py'がありますが、' views.py'はありません。 'djangoapp'フォルダに' views.py'があります。私はこれをメインフォルダに新しい 'views.py'を作成しますか? –

+0

私はそのメインフォルダに新しい 'views.py'を作成してみましたが、それは私のためにはうまくいかないようです...明日これに戻ってきます。ありがとう! –

+0

うれしかったです:)それはdjangoappのビューファイルにも書きますが、urls.pyで正しいファイルをインポートしていることを確認してください。 – Sagar

1
<meta http-equiv="refresh" content="0; url=http://example.com/" /> 

注:ヘッドセクションに配置します。古いブラウザのためにさらに

あなたはそれが正しく更新されません場合は迅速にリンクを追加する場合:

<p><a href="http://example.com/">Redirect</a></p> 

これはまだあなたがに取得できるようになりますリダイレクト

として表示されます追加のクリックでどこに行くか。

+0

ありがとう:

#view.py from django.contrib.auth.decorators import login_required @login_required def yourindex(request): ... 

またはクラスベースのビューを使用している場合

。それはあなたがHTMLページをリダイレクトする方法ですが、どこでこれをDjangoプロジェクトに入れますか? –

1

url属性としてリダイレクトURLを挙げることができます。しかし、ログイン後にそれらのページにリダイレクトされてしまい、あなたのケースでそれが有用かどうかは分かりません。

#urls.py 
from django.contrib.auth.decorators import login_required 
... 
    url(r'^$' , login_required(Myindex.as_view()) , name='index'), 
関連する問題