3

私は Django が初めてで、ファイル構造を理解する必要があります。以下は私のDjangoプロジェクトの例です(一部のファイルがありません)

私の紛らわしいのは、実際のサーバーでの運用と、ファイル構造の関連性です。

この問題について次の質問があります。回答があれば理解に役立つと思います。

  1. Web ルートはどこにありますか?
  2. ユーザーがsettings.pyをダウンロードするのをどのように止めますか?
  3. この構造大丈夫?

    project
      manage.py 
      templates [folder]
      myapp1 [folder]
       models.py
       views.py
      projectname [folder]
       urls.py
       settings.py
    
4

3 に答える 3

5

Web ルートはありません。Django プロジェクト ファイルは、Web サーバーが特定の URL で実行および提供されるように、どこにでも配置できます。URL はファイル構造に対応していません。

Django は決して一般に公開されるべきではありません。一般に公開しないことで、ユーザーがダウンロードできないようにします。Web からアクセスできるのは、静的なメディアだけです。

はい、あなたの構造は大丈夫です。それが推奨される新しい標準です。

于 2012-12-07T21:59:00.793 に答える
1

mod_wsgi を使用すると、 を宣言する必要はありませんDocument Root。wsgi ファイルへのパスを指定するだけです。

ドキュメントからのApache mod_wsgi構成のサンプル:

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

ユーザーは settings.py Apache にアクセスできません。debug=Falseただし、設定が公開される可能性があることを確認してください

あなたの構造は、1.4以降のデフォルトのdjango構造です

于 2012-12-07T21:57:59.483 に答える
1

別の見方を追加すると、 に含まれるURLconfurls.pyは、必要に応じて、Web ルートの仮想ファイルシステムを定義します。URL のクラス全体を動的ページを生成するビューにルーティングするのは、URLconf スキーム次第です。したがって、ある意味では、少数の URL エントリ、ビュー、およびテンプレートを使用して、実際の Python ソース コードではない無数の「ファイル」を含む Web ルートがあるかのように見せることができます。

于 2012-12-07T22:08:19.647 に答える