問題タブ [cookiecutter-django]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
187 参照

django - Cookiecutter-django ユーザーの URL を i18n_patterns に追加するとテストが中断する

テストと国際化に問題があります。

  • プロジェクトはDjango 1.11です
  • パイソン3.5
  • cookiecutter-django で作成されたプロジェクト

settings.py の国際化コード:

ユーザーの標準 Cookiecutter テストで pytest を実行すると、i18n_patterns を追加せずに正常に完了します。URL が次のように更新されると、次のようになります。

URL テストは失敗します。出力は次のようになります。

ご覧のとおり、問題は /en-us/ が URL で使用されているプレフィックスであることです。ここで、アサーションに /en-us/ を追加することでこれを修正できます。ただし、/en-us/ プレフィックスは正しくありません。これは言語コードであり、設定ファイルに示されている通常の言語プレフィックスではありません。

テスト以外で、runserver を使用して、/users// の URL に移動すると、/en-us/ ではなく /en/ で始まります

では、大きな問題は、i18n_patterns() が /en/ を使用するときに、なぜテストの前に /en-us/ を付けるのですか?

編集 users/tests/test_urls.py の内容は次のとおりです