我已经阅读了Django官方教程,该教程教授如何创建一个简单的民意调查应用程序,这是他们选择向Django初学者教授基础知识的方式。 我的问题是,现在我知道如何创建一个简单的应用程序并想要创建我自己的网站(使用Django),我的网站的主(前)页面是否也应该是一个应用程序?如果是这样,人们通常如何调用它并对其进行配置?我的意思是,除了渲染一个html模板之外什么也不做,所以为什么要这么复杂呢?如果没有,我在哪里放置所有静态文件,如何引用它们?我有点困惑,可以使用你的帮助。也许我误解了Django的主要用途?
答案 0 :(得分:7)
您可以在manage.py
文件所在的根项目文件夹中创建模板和静态文件。在根文件夹中,创建以下文件夹:
templates
(适用于HTML)static
(适用于CSS,JS和图片)在settings.py
文件中,让这些变量看起来像这样:
TEMPLATES = [
{
...
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
...
},
]
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
注意: STATICFILES_DIRS
变量最初不在settings.py
文件中,但您可以自行添加。默认情况下,Django在每个应用程序的static
目录中查找静态文件。如果您希望Django读取您在项目根目录中创建的static
目录,则需要添加此变量。 Django官方文档参考:https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-STATICFILES_DIRS
要呈现这些模板,您可以在views.py
文件所在的目录中创建settings.py
,并将urls.py
中的路由添加到同一文件夹中。
这是实现目标的几种方法之一。希望您不需要将这些模板(例如,您的主页)插入或者说在任何其他项目中使用这些模板,否则请在帖子的评论中建议Timmy。
答案 1 :(得分:4)
我通常从3个应用程序开始(随意调用它们):
base - 基本布局:一些常见的静态文件和一个基本模板(其他模板扩展了这一个,主要目的是
包括一个常见的html <head>
)。还包含主页和其他一些简单的页面。
main - 包含项目设置/配置,以及主urls.py
(在我的情况下也包含wsgi.py)
myapp - 我想要创建的实际应用。
这很好地区分了功能。通常,我可以将基础应用程序重新用于其他项目。