7

私はpycharmプロジェクトと、おそらくDjangoプロジェクトを持っています。おそらくそれらは同一であり、おそらくそうではありません-区別についてはよくわかりません。

とにかく、私のsettings.pyファイル( projectディレクトリのルートにあり、これは私のpycharmプロジェクトであると私が推測するものです)には次のものがあります:

ROOT_URLCONF = 'dumpstown.urls'

それdumpstownは私のプロジェクト名ですか?または私のpycharmプロジェクト名?違いは何ですか?というフォルダdumpstownappあり、これにはすべてのmodels.pyファイルとview.pyファイルが含まれているためです。それがDjangoプロジェクトだと思っていたのですdumpstownappが、本当にわかりません。

したがって、簡潔にするために:

このフォルダの設定では

folderA
    folderB
        views.py
        models.py
        <other stuff>
    templates folder
    settings.py
    <other stuff>

これは「Djangoプロジェクト名」です〜つまり、models.py(上に表示)でUserProfileが定義されている場合、それにAUTH_PROFILE_MODULE必要なエントリは何でしょうか?私はdjangoのドキュメントからいくつかの理解を得ています-私は推測します

dumpstownapp.models.UserProfile

しかし、私が得るドキュメントから

dumpstownapp.UserProfile

それとも私のアプリはdumpstownと呼ばれていますか?そして私は何を得るのですか?

4

2 に答える 2

2

FolderAはDjangoプロジェクトフォルダーであり、folderBはDjangoアプリフォルダーです。

UserProfileを使用したことはありませんが、ドキュメント(https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users)によると、 Djangoアプリ名とモデル名はドットで区切られているため、"dumpstownapp.UserProfile"正しいはずです。あなたがエラーを示した場合、誰かがおそらくあなたにもっと良い助けを与えることができます。

Djangoのドキュメントには、プロジェクトフォルダーの親(つまり、folderAの親)がパス上にある必要があると書かれていましたが、プロジェクトフォルダー自体(つまり、folderA)も含めるように変更されたと思います。 Djangoアプリははるかに簡単です。Alt + F7を押して新しく使用されたモジュールのインポートを自動追加するため、PyCharmはそれを想定しているようです。なぜなら、folderAがインポートパス上にあると想定するインポートステートメントを作成するからです(私はPyCharmの比較的新しい人です。 m Django 0.96の時代に始まったプロジェクトで使用しているので、設定が間違っている可能性があります。)しかし、folderAはDjangoとPyCharmプロジェクトの両方です(.ideaファイルはPyCharmがプロジェクトデータを保存する場所です)。

于 2012-06-24T17:15:49.957 に答える
1

In one of my django-app git-submodule projects I needed to find out the name of the Django project that django-app/library was used in. To that end, I tried to get the path of the file that was being executed, find my package in the path and take the folder above it. However, it turned out that on the production server the project was deployed in a folder with a different name (a standard name like www or something along those lines). So this way is not fully reliable.

So I ended up setting a PROJECT variable in the django settings file and using that instead.

于 2017-11-01T12:02:10.900 に答える