视图模板文件的加载、静态文件的加载

[TOC]

视图模板文件的加载

使用普通的字符串django.http.HttpResponse

之前使用的就是,return HttpResponse("一些html的操作"),不再赘述

响应网页视图(需要会用)

Django的模板存储位置是固定的===templates

  1. 在子模块下创建一个templates文件夹,用来储存html的样式。(尽量把不同子模块的样式储存在不同的文件夹内)
  2. 在视图处理函数中,我们重新定义返回函数
#导入一个解析模板的loader对象
from django.template import loader
def view2(request):
    #使用loader加载界面,注意路径问题
    #loader会自动去templates文件夹下查询页面
    #temp为一个模板对象
    temp = loader.get_template("blog/login.html")
    #context是上下文参数,是以字典形式传递参数
    context = {"msg":"你好啊,请登录"}
    #把内容渲染到模板对象上
    return HttpResponse(temp.render(context,request))

同时还需要在login.html中加入{{msg}}(即mustache语法)使得context内容加载到网页中

网页视图快捷操作方式(重点)

通过响应对象渲染返回的网页,功能非常强大,但是编码略显复杂。Django框架作为一个功能强大的web框架,不会让开发人员做大量重复的工作,所以已经将HTML网页的渲染返回进行了快捷的处理,方便了开发人员的使用。

#引入需要的render对象
from django.shortcuts import render

def view3(request):
    #render函数可以将视图快速返回
    return render(request,"blog/login.html",{"msg":"这是快捷方式的操作"})

在主目录下模板的加载

  1. 在主目录下创建一个存放模板文件(html文件)的目录。
  2. 把这个目录的路径告诉setting文件中的修改TEMPLATE中的内容,'DIR':os.path.join(BASE_DIR,temp)temp为主目录下存放模板文件的文件夹名称

注:模板文件的加载顺序:先扫描主目录,再扫描子模块,即主目录和子模块中都有模板文件时,子模块的模板文件不生效

静态文件的加载

子模块下

  1. 在子模块下,创建一个static来存储静态文件(static中可以包括css、js、img)
  • 在js中包含app和lib
    * app存放自己创建的文件
    * lib存放第三方文件,如:bootstrap、jquery
  1. 在模板文件中(template中的html文件)导入css或者js

主目录下(和子模块同级)

和子模块类似,唯一不同的是:在setting配置文件中的末尾对静态文件的位置进行配置

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

你可能感兴趣的:(视图模板文件的加载、静态文件的加载)