基于Django开发的SkyNet博客二——base Template

基于Django开发的SkyNet博客一——创建模型
Django使用的是MTV框架模式,上一篇博客中已经介绍了Django中的model,这一篇博客主要讲解Template和View,

Template

Template是为了方便动态的生成html,Template中不仅有静态的部分,还有动态生成的部分。Django创建后端的Template语言,也叫Django template language(DTL),可以看一下jinja2
首先设计一下base.html




    
    
        {% block title %}{% endblock %}
    
    {% load static %}
    
    
    


{% block header %}
    {% load static %}
    
    
    
{% endblock %}
{% block content %}
{% endblock %}
{% block footer %} {% endblock %}

首先先给个图吧

base.png

  1. 使用了block块,可以让继承base.html的Template自定义各块的内容。
  2. 定义了block header,是继承了base.html的都包含该header,如若不需要则只需重写即可
  3. load static可以导入静态文件,需要在settings设置静态文件的导入路径。
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

如果需要将静态文件放入自己的app中,只需创建如下目录

blog
    static
        blog
            ...  

而我这里是创建了image,css,js等文件夹,方便导入。
需要导入css和js如下格式

{% load static %}



注意我这里导入了三个文件,两个是semantic库的,另外一个是jquery的,并且两个js的顺序不能颠倒哦,因为semantic的js是依赖jquery的。

#这些用法在jinja2中都有所介绍,不懂的可以去看一下
{% 语句 %}
#{% load static %}用来导入static tags,方便后续的使用
#{% static 'path' %}导入路径为path的静态文件
#{% url 'namespace:name' %} 指向对应的url
{{ 变量 }}

4.其他的都是semantic ui的知识了,自己也还在钻研中。

上述代码还没有全部完成,base.html就先介绍到这了。
下一篇:
[基于Django开发的SkyNet博客三——登录注册界面](基于Django开发的SkyNet博客三——登录注册界面](http://www.jianshu.com/p/64b6fa55965f)

你可能感兴趣的:(基于Django开发的SkyNet博客二——base Template)