2016-10-06 50 views
2

我已阅读Django官方教程,该教程将教会如何创建一个简单的民意调查应用程序,这是他们选择教初学者Django基础知识的方式。 我的问题是,现在我知道如何制作一个简单的应用程序,并且想要创建我自己的网站(使用Django),我的网站的主(前)页面也应该是一个应用程序吗?如果是这样,人们通常会怎么称呼它并对其进行配置?我的意思是,它不应该做任何事情,但呈现一个HTML模板,所以为什么使它如此复杂?如果没有,我在哪里放置所有的静态文件,我该如何引用它们?我有点困惑,可以使用你的帮助。也许我误解了Django的主要用途?我的Django网站的主页应该是一个应用程序吗?

+0

通常我会创建一个核心(或类似命名)的应用程序,它具有所有额外的零碎和碎片,如实用程序函数,上下文处理器,中间件等。这是放索引页面的好地方 –

回答

2

您可以在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

+0

谢谢你的回答。我希望你也可以提一下STATICFILES_DIRS的功能,因为我最初并没有在我的settings.py中使用它。 –

+0

我编辑了我的答案,并添加了一个注释,解释了为什么我们添加了这个变量。 – Forthaction

0

我一般用3个应用程序(打电话给他们任何你想要的)开始:

  • 基地 - 基本布局:一些常见的静态文件和一个基本的模板(其他模板扩展这一项,主要目的是 包括一个常见的html <head>)。还包含主页和其他一些简单的页面。

    主要 - 包含项目设置/配置,主要urls.py(在我的情况也wsgi.py)

    MYAPP - 实际的应用程序,我想创造。

这很好地分离功能。通常我可以重新使用其他项目的基本应用程序。

相关问题