0

CountryField からフラグを取得するために django-countries を使用していますが、動作します。ただし、プロファイルに国が設定されていないユーザーもいますが、それでもフラグを表示する必要があります。私のアイデアは、IP から国を取得し、その国から国旗またはそれに類似したものを取得することでした。

残念ながら、これはビューで発生していないため、リクエストはありません。テンプレートに IP を設定し、バックエンドでフラグが見つからないかどうか (国が指定されていない場合) を確認し、テンプレートから取得した IP を使用してフラグを取得します。そのようなことは可能ですか?必要に応じて、GeoDjango は既にプロジェクトに含まれています。

おそらく、これを行うにはまったく異なる方法がありますが、私は Django を初めて使用し、まだ学習中です。ありがとう。

4

2 に答える 2

0

まず、テンプレートではなく、ビューで国を検索する必要があります。ビューは、すべての DB 作業とビジネス ロジックを実行することになっています。テンプレートは、ビューが取得したものを可能な限り最良の方法で表示するだけです。たとえば、すべてのページに適用する場合は、コンテキスト プロセッサの使用を検討してください。

IPから国を取得することに関して、この質問はそれを説明しています:Django、Retrieve IP location

于 2014-10-01T13:41:07.073 に答える