2

Django の GeoIP2 をいじってみます。これには、設定で国と都市のデータセットへのパスを設定する必要がありますGEOIP_PATH。私の問題は、Python シェルのようなものがそれを見ることができるように、この設定をどこに置くべきかわからないことです。

私はそれが入るとsettings.py思いますが、この特定のモジュールの構文については確信が持てません.Djangoのドキュメントはこれに関して絶対にゴミです.

4

2 に答える 2

10

settings.pyDjangoのファイル内に配置する必要があるのは正しいです。このファイルは、Django プロジェクト/アプリのどこかにあるはずです。次に、そのファイルに次を配置します。

GEOIP_PATH = '/path/to/your/geoip/datafiles'

GEOIP は、アプリケーションで使用するために必要なファイルを見つけることができます。

編集


Python シェル経由で Django の GeoIP2 を試してみたい場合は、次の手順に従う必要があります (この回答では Windows を使用していますが、Linux ベースのオペレーティング システムでも同じである必要があります)。

: Django プロジェクトが既にセットアップされている場合は、手順 10 から開始できます。

  1. Python がインストールされていることを確認してください (この回答では Python 3.5.1 を使用しています) pip

  2. virtualenvwrapper をインストールします: pip install virtualenvwrapper-win(またはpip install virtualenvwrapperWindows 以外のインストールの場合)

  3. プロジェクトの仮想環境を作成します。mkvirtualenv GeoIP

  4. このプロジェクトの Django をインストールします。pip install django

  5. インストールが成功したことを確認するには、 execute を実行します。django-admin --versionこれにより、Django インストールのバージョンが表示されるはず1.9.1です。これが表示されない場合は、Python のインストールが正しいことを確認してください。

  6. プロジェクトを保存するディレクトリを作成します。私の場合、Django というディレクトリを作成しました。mkdir Django

  7. 次のディレクトリに移動します。cd Django

  8. Django プロジェクトを作成します。django-admin startproject geoip_test

  9. Django が作成した新しいディレクトリに移動します。cd geoip_test

  10. geoip2 をインストールします。pip install geoip2

  11. 必要なデータセットを格納するディレクトリを作成します。これらは解凍する必要があることに注意してください: mkdir geoip. ダウンロードして解凍したファイルをこのディレクトリに配置します。

  12. Django Python シェルを開始します。python manage.py shell

  13. GeoIP2 のインポート:>>> from django.contrib.gis.geoip2 import GeoIP2

  14. GeoIP2ダウンロードしたファイルの場所へのパスを使用してクラスをインスタンス化することにより、オブジェクトを作成します。>>> g = GeoIP2('geoip')

  15. すべてが機能することをテストします。>>> g.country('google.com')
    {'country_code': 'US', 'country_name': 'United States'}

于 2016-01-30T15:54:24.077 に答える