Django 全局的static和templates的使用详解

yipeiwu_com6年前Python基础

一、问题

首先我们在进行Django框架搭建的时候我们需要建立一个全局的变量,一是为了实现代码的复用,二是为了方便管理,如下图的样式

二、解决

1、修改setting里面的配置文件

①templates的路径:

按照以下的规则进行添加【app/templates】,然后在APP下面建立这个templates。

APP下的:

②static的路径:

在最后添加这部分内容,保留以前的static的路径

2、在html中引用:

①templates:

在主templates中添加一个主的HTML文件

其中block代表区域,也就是后面整个主体的部分,这样相当于把一个body嵌入到这个HTML中

主界面的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Main</title>
</head>
<body>
{% block title %}{% endblock %}
<a href="https://www.baidu.com/" rel="external nofollow" ><h3>百度一下</h3></a>
</body>
</html>

应用界面的代码:

其中{% extends 'main.html' %}是最为重要的,必须顶头写不然会出错{% block title %}(title只是一个标识,可以使用任意的字符,只要能保持一致就可以检索到)和{% endblock %}相对相应也就是嵌套的区域

代码如下:

{% extends "main.html" %}
{% block title %}
{% load staticfiles %}
</head>

<body>
<img src="{% static 'images\pk_1.jpg' %}" height="500" width="500">
<p>
  我是不是你最疼爱的人,你为什么不说话,我在这等着你回来等着你回来,一朵花儿开就是一朵花儿,满山的花儿在这里开啊!
</p>
<img src="{% static 'images\pk_1.jpg' %}" height="500" width="500">
<br>
<a href="{% url 'index:show' %}" rel="external nofollow" ><h3>Show页面</h3></a>
<br>
<a href="{% url 'index:seconds' %}" rel="external nofollow" ><h3>Seconds页面</h3></a>
<br>
<video src="{% static 'videos\first.m4a' %}" width="400" controls loop></video>
</body>.
{% endblock %}

结果图:

②static:

static比较简单

在调用之前使用{% load staticfiles %}就可以完成调用,使用的时候使用{% static ‘[js/css/pic/video/等路径]' %}就可以完成使用

如上图

三、成果展示

四、总结

Django开发的templates有很多技巧可以多参考一下前人写的,如果出现templates无法加载的情况,检出路径是否出现错误,以及拼写是否有误。

五、参考

附上Django的使用手册:

https://docs.djangoproject.com/en/2.1/ref/settings/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python导入坐标点的具体操作

python导入坐标点的具体操作

小编今天教你们python怎么导入坐标点,解决你在生活中遇到的小问题。 首先下载安装python,打开文本编辑器,将文件保存成 py格式,如果python目录不在usr/bin目录下,则...

python遍历数组的方法小结

本文实例总结了python遍历数组的方法。分享给大家供大家参考。具体分析如下: 下面介绍两种遍历数组的方法,一种是直接通过for in 遍历数组,另外一种是通过rang函数先获得数组长度...

Python实现命令行通讯录实例教程

Python实现命令行通讯录实例教程

1、实现目标 编写一个命令行通讯录程序,可以添加、查询、删除通讯录好友及电话 2、实现方法 创建一个类来表示一个人的信息。使用字典存储每个人的对象,名字作为键。 使用pickle模块...

基于Django contrib Comments 评论模块(详解)

老版本的Django中自带一个评论框架。但是从1.6版本后,该框架独立出去了,也就是本文的评论插件。 这个插件可给models附加评论,因此常被用于为博客文章、图片、书籍章节或其它任何东...

python实现一个简单的udp通信的示例代码

python实现一个简单的udp通信的示例代码

什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 python创建套接字...