我是Django的新手,需要了解文件结构。下面是我的Django项目的一个例子(缺少一些文件)
我很困惑的是在真实服务器上进行制作以及我的文件结构如何相关。
我对这个问题有以下问题,我认为如果回答会帮助我理解。
它的结构好吗?
project
manage.py
templates [folder]
myapp1 [folder]
models.py
views.py
projectname [folder]
urls.py
settings.py
答案 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源代码。