Django项目文件结构

时间:2012-12-07 21:55:26

标签: python django

我是Django的新手,需要了解文件结构。下面是我的Django项目的一个例子(缺少一些文件)

我很困惑的是在真实服务器上进行制作以及我的文件结构如何相关。

我对这个问题有以下问题,我认为如果回答会帮助我理解。

  1. 网络根目录在哪里?
  2. 如何阻止用户下载settings.py?
  3. 它的结构好吗?

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

3 个答案:

答案 0 :(得分:5)

没有网络根目录。 Django项目文件可放置在任何地方,以便Web服务器在给定的URL上运行和提供服务。 URL与文件结构不对应。

Django应该从不接触公众。您可以通过不将其公开给公众来阻止用户下载它。只能从网络上访问静态媒体。

是的,你的结构还可以。这是推荐的新标准。

答案 1 :(得分:1)

使用mod_wsgi,您不需要声明Document Root,只需提供wsgi文件的路径

docs中的示例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结构

答案 2 :(得分:1)

只是为了添加另一个视角,urls.py中包含的URLconf定义了您的网络根目录的虚拟文件系统(如果愿意)。您的URLconf方案是将整个URL类路由到您的视图,从而生成动态页面。因此,从某种意义上说,通过一些URL条目,视图和模板,您可以看起来好像您的Web根目录中填充了无数的“文件”,其中没有一个是您真正的Python源代码。