python大法攻略django

用Django搭建个人博客网站(二.基础模版的创建)

2017-12-13  本文已影响39人  眼君

接下来,我们要创建一个基础模版,将整个网站的框架搭出来。

配置模版路径

我们首先需要在manage.py所在的项目根目录下创建一个文件夹templates用于存放项目的所有模版文件,所谓模版文件,其实就是一些可以使用Django特点模版语法的html文件。

模版文件夹路径

创建好这个文件夹后,我们需要再打开settings.py文件,配置这个模版文件的路径,这样项目才能找到模版文件的位置。在settings.py中找到TEMPLATES这项,将'DIRS'里的内容改成如下所示:

templates

其中的BASE_DIR是settings.py前几行预先设置的项目根目录位置,这样填写就等于将项目模版文件的位置指向根目录下的templates文件夹。

同理,我们也需要通过相同的配置让项目知道静态文件的路径。

配置静态文件路径

我们在settings.py中能找到一个STATIC_URL变量,这个变量用于指定templates调用静态文件时的引用根目录,但是项目仍不知道存放静态文件的根路径在哪,这里需要我们写入一个变量STATICFILES_DIRS进行指定。

静态文件路径

这里我们来说明一下Django配置文件中几个与静态文件有关的目录的含义:

STATIC_URL是放置静态文件的地方,Django会默认在这里找到静态文件,但是我们一般不会在一开始就把静态文件放进去,因为最后在统一发布前需要从各文件夹收集静态文件放到这里,有可能覆盖原文件。

STATIC_ROOT是静态文件相对于系统的目录。

MEDIA_URL一般会将上传的文件放入这个文件夹。

MEDIA_ROOT同STATIC_ROOT。

STATICFILES_DIRS一个元组,里面放置开发时静态文件自动搜寻的目录,我们在开发是先建一个common_static即公用的静态文件夹,在里面放我们自己的静态文件,等最后使用静态文件收集命令一并处理。

编写基本模版

接下来,让我们编写一个基本模版文件,来构建整个网站的基调。

我们先在templates文件夹下创建一个html文件base.html,并根据自己的喜好编写一个带有导航栏和菜单的html文件。

我们在个html文件需要改变的地方加入两个入口,如下图:

base.html

注意,这段代码中有两个可以替换的入口:

{% block title %}{% endblock %}

{% block content %}{% endblock %}

创建页面文件目录

在根目录下创建文件夹pages用于存储最终的页面文件:

pages目录位置

然后,和上面一样,我们需要在settings.py中设置这个目录的路径:

页面路径

之后,我们在views.py中创建一个视图函数,用于生成页面。

页面的视图函数

之后,我们在templates文件夹中创建一个page.html页面模版,这个模版继承自base.html,同时会通过刚创建的page视图函数传入一个模版元素,这样我们就可以通过向视图函数page中传入不同的参数,让page.html显示包含不同pages文件夹下元素的页面文件了。

创建页面文件模版

在templates文件夹下创建一个文件page.html,文件代码如下:

page.html

第一行代码表示这个html继承了base.html

之后的两个代码块则用于替换base.html中留空的两个代码块。

第四行{% include page %}是视图函数将模版元素传入的入口。

设置URL与视图函数的路由

最后一步,我们需要配置urls.py用于关联url与视图函数。

urls.py

pages页面代码块

接下来,我们就可以通过在pages文件夹下添加不同的html代码块文件,这些文件名会被作为视图函数的参数,并将对应的html块替换掉base.html中的 {% block content %}{%   endblock %} 的内容。

我们先在pages目录下创建一个index.html作为默认的主页页面进行展示。

比如我们在index.html中加入以下代码块。

index.html

那么网站则会在默认状态下显示:

上一篇下一篇

猜你喜欢

热点阅读