我们需要总结一下Django的运行过程
Django是一个mvt框架。MVT是由MVC所衍生出来的一种偏重于Template的框架。
在MVC中 m所代表的是model 也就是数据层,v所代表的view 也就是视图层,c代表的是control 也就是控制器。流程为用户首先看到的是view视图,紧接着用户对其在视图上进行交互式操作(点击保存之类的),也就是对control进行了操作,control根据用户的操作,对model进行相应的处理,并将处理中的数据放置在view视图中,view在通过模板语言渲染成html的内容呈现给用户。
[图片上传失败...(image-279b29-1531208383482)]
在MTV中,用户同样看到的是view视图,但是当用户操作之后,操作的内容不再是control,而是view。view对model进行操作之后再将数据返回给template模板渲染呈现出来。
也就是说control变成了view,view变成了template
Template设置
1530987798709.png
1.首先,你需要再apps同级目录下创建一个templates文件。当然如果你是再pycharm下直接创建了django项目,那么templates文件夹会由pycharm为你创建。
2.设置

添加文件路径。
静态文件配置
一个完整的网站当然缺少不了一些静态文件(照片,js文件,css文件),为了更好的管理这些内容。我们要把他们放在一个static文件中

并再setting配置
media的配置
如果用户需要上传一些内容,如头像视频等。这个时候为了不和我们本身就具有的静态文件搞混,我们需要设置一个media文件夹来管理这些内容

并再setting中配置。

前台引用
全局调用
光是这样,其实我们并不能看到用户自己上传的内容。因为每一张图片都是带地址的存在我们的数据库中的,
我们还需要再url中配置我们的照片路径
/urls.py
from django.views.static import serve
from hzj_test.settings import MEDIA_ROOT
re_path('media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT }),

替换模板
由于前端工作者写网页的时候会根据自己的文件目录去写项目,一旦django引用了这样的项目,就会出现各种各样的错误,这时候我们需要去调换其中的一些引用如:
使用正则快速替换.css .js文件
匹配css正则
<link rel="stylesheet" type="text/css" href="../css/reset.css">
<link rel="stylesheet" type="text/css" href="../css/login.css">
../css/(\w+[.]\w+)
{%static 'css/$1'%}
js以及jq等其他引用照例,个别错误个别替换
网友评论