2017-08-07 9 views
0

非常に奇妙な問題が発生しました。 dev envはDjangoです。1.10 & django-cms 3.4.4。 Chromeでローカルホストをロードしようとすると& Firefoxはすべて正常に動作しますが、Safariで開こうとするとNoReverseMatch/で失敗し、ランダムURLで失敗します。私も試しましたDjango 1.10&Django-cms 3.4.4 - 一部のブラウザではNoReverseMatch

curl http://localhost:8000/ 

それはうまくいきます。 また、Windowsとさまざまなブラウザで試行され、同じエラーのあるブラウザでは失敗します。 誰かが何が問題になるか考えていますか? ありがとう!

P.S.

Reverse for 'model' with arguments '(u'bmw',)' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

URLを一切読み込まないようです。 0パターン試しましたには何もロードされていないということを意味しますか?

+0

'curl -I http:// localhost:8000 /'は何を返しますか? – Alasdair

+0

'HTTP/1.0 200 OK 日付:Tue、08 Aug 2017 19:32:39 GMT サーバー:WSGIServer/0.1 Python/2.7.13 コンテンツ言語:bg 有効期限:Tue、08 Aug 2017 19:33: 39 GMT バリエーション:、受け入れ言語、Cookie 最終更新日:火曜日、08 Aug 2017 19:32:39 GMT キャッシュコントロール:max-age = 60 Xフレームオプション:SAMEORIGIN コンテンツタイプ: text/html; charset = utf-8 セットクッキー:csrftoken = cjyVDImNRxEsijnKlMHrzAHgXSObdhxfWzTY5VTehmAWS6HRU5P99RJ2Wq0i98bj; expires = Tue、07-Aug-2018 19:32:39 GMT;最大年齢= 31449600; Path =/ セットクッキー:django_language = bg;期限切れ=水曜日、08-Aug-2018 19:32:39 GMT;最大年齢= 31536000; Path =/' –

答えて

1

私はそれを見つけたと思う。長い話が短く

デフォルトのcmsは英語をプライマリ言語として使用するように設定されていますが、私の主な言語はブルガリア語にします。私は両方の言語をサポートするようにCMSを設定しました。ブルガリア語をデフォルトにして英語を無効にしました。それでラッパーを取り除いて、に入れて/en//bg/などのプレフィックスを取り除いてください。ここまでは順調ですね。管理サイトはすごく機能します。ブルガリア語の言語は1つしかありません。ページやカスタムアプリが添付されています。すべてのサポートされているURLを表示するためにSafariで間違ったURLをフロントエンドに読み込むと、添付されたアプリケーションやURLは表示されません。 Chromeで同じことを行うと、添付されているすべてのアプリケーションのURLが表示されます。 Chromeはブルガリアのページ設定と設定されたすべてのアプリケーションを読み込みますが、Safariは無効になっている英語ページを読み込み、添付されたアプリケーションはありません。

私の最初の推測は、Accept-Languageヘッダーでした。 SafariはAccept-Language: enを使用しますが、他のブラウザはbgを送信します。データを改ざんしようとしましたが、何も起こりませんでした。その後、実際に言語を決定するLocaleMiddlewareによって使用されているdjango_languageのCookieがあることに気付きました。ミドルウェアを無効にすると、すべてが魅力的に機能しました。

ありがとうございます!