ルートディレクトリのトピック

ジャンガ上のサイトをカタログに依存しないようにするためのすべてのトリックと試みにもかかわらず、私はまだdzhang自体に埋もれた熊手を見つけました。



顧客(および私の)がサイトのルートディレクトリを持っているという事実に起因する大騒ぎは、ドメインのルートディレクトリであるとは限りません。 つまり 多くの場合、サイトの最初のページは、さまざまな技術的な理由からsite / djにあります。 最も一般的なのは、同じサーバー上にあり、必要なPHPのモジュールを顧客が持っていることです。



待ち伏せは、テンプレートとhttpredirectsでページへのフルパスを指定する必要があるという事実にあります。 そして、このパスがジャングル自体の内部でまだ理解できる場合(httpredirect uglinessを使用してビューからページへのフルパスを指定する必要があると考えていますが)、ルートディレクトリは変更できます。 そして、それを修正するためにすべてのコードをシャベルで切ることは悲しいでしょう。



私は次の出力を見つけました:settings.pyで変数ROOT = ''が書き込まれ、小さなtemplatetagが書き込まれます:



root.py:

django.template importライブラリから



登録=ライブラリ()



register .simple_tag

def root():

「」

ROOT設定に含まれる文字列を返します。

「」

試してください:

インポート設定

ImportErrorを除く:

戻る ''

戻り値settings.ROOT





それだけです。 次に、{%load root%}の後のテンプレートで、各パス{%root%}の先頭に書き込み、必要なものを取得します。 viewaxでは、それぞれ同じ目的でsettings.ROOTを使用します



問題は、彼らが待たなかったところから来ました。 dzhangovsky authの腸内には、「/ accounts / login」というパスがあり、釘によって釘付けにされており、許可が必要な場合に要求がリダイレクトされます。 現時点では2つの方法があります:ユーザーがログインしているかどうかを確認するために標準のデコレータを使用しない(これは不便です)か、Jung自体をハックします。 これまでのところ、私は2番目の道を歩んできましたが、これは間違っています。



django / contrib / auth / __ init__.pyに行を追加しました

hasattrの場合(設定、 'LOGIN_URL'):LOGIN_URL = settings.LOGIN_URL





そしてsettings.pyに追加されました

LOGIN_URL = '%s / login /'%ROOT




All Articles