视图模块

Django MVT处理模式的框架
视图函数views.py
数据模型models.py
网页视图html网页

Django项目结构:根项目管理所有子项目
根项目:网页
子项目:网页

1. 一个简单的网页加载[了解]

 django.http.HttpResponse返回字符串[了解]
 django.template.loader加载器加载网页[了解]
 django.shortcuts.render渲染器渲染加载网页[掌握]
备注:所有子模块应用中,Django会自动扫描是否存在templates/文件夹,在这个文件夹下查询指定的要加载的网页[templates/文件夹名称推荐使用!不要随意更改这个存放网页的文件夹的名称]

2. 静态资源的处理

Django的加载器会自动扫描所有子模块应用中的/static/文件夹,在static文件夹中查询对应的静态资源文件[settings.py中配置了STATIC_URL=/static/;同样的,推荐使用默认的静态文件夹名称static,不要任意修改这个文件夹的名字!]

3. 根项目的网页处理和静态文件处理

根项目下,设置网页~网页的查询加载路径
 settings.py配置TEMPLATES选项中的DIRS选项,将根项目的访问路径配置进入
DIRS:[“temp”]
 网页的查询顺序,首先[temp/],其次查询子项目[templates/],如果此时两个文件夹中存在同名称的同路径的文件,就会直接访问[temp/]的文件
所以我们要在子模块应用中的[templates/]文件夹中,再创建一个[myblog/]用来进行文件路径隔离!
 静态资源处理[子模块应用中,直接查询/static/]

简短总结

子模块应用

  1. 网页文件:在子模块应用当前路径中,创建templates/文件夹,在文件夹中创建和子模块应用同名的文件夹,在该文件夹中创建所有的html网页
    如:mysite/myblog/templates/myblog/index.html
  2. 静态文件:在子模块应用的当前路径中,创建static/文件夹,在文件夹中创建和子模块应用同名的文件夹,在该文件夹中创建js/、images/、css/等等各种静态文件夹存放不同的静态文件,在网页中通过/static/myblog/css/index.css方式进行引入使用
  3. 注意:上述操作,不需要配置

根模块

  1. 网页文件:在根目录中创建一个存放网页的文件夹,如temp/,然后在配置文件中添加新的配置[settings.py中TEMPLATES配置的DIRS选项中,添加temp],在这个temp/文件夹中,就可以存放html网页文件[一般这个文件夹中存放的是根项目的网页或者所有子项目的公共网页]
  2. 静态文件:在根目录中创建一个存放静态文件的文件夹,如static/,然后在配置文件中添加新的配置[STATICFILES_DIRS=[..] ]添加好新的配置,就可以在static/文件夹中,直接使用静态文件了。
# 根项目中 配置存放网页的文件夹
TEMPLATES = {
..
DIRS: [“temp”]
..
}
# 根项目中配置存放静态文件的文件夹
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, “static”)
]
|-- mysite/
|-- mysite/
    |-- settings.py
    |-- urls.py
    |-- views.py
|-- myblog/
    |-- templates/
         |-- myblog/
              |-- index.html
    |-- static/
        |-- myblog/
            |-- css/
            |-- js/
            |-- images/
    |-- urls.py
    |-- models.py
    |-- views.py
|-- manage.py
|-- temp/
|-- static/
    |-- css/
    |-- js/
    |-- images/
settings.py
..
TEMPLATES = {
   ..
   DIRS: [“temp”]
   ..
}
..
STATICFILES_DIRS = [
   os.path.join(BASE_DIR, “static”)
]

web项目,前端:HTML技术——数据传输:HTTP协议
HTTP1.1标准:规定了8种请求方式
GET
POST
PUT
DELETE
OPTION
CONNECTION
HEADER
TRACE
所谓请求方式,就是指代的数据交互方式,所以常用的有四种请求方式
GET:查询
POST:更新
PUT:增加
DELETE:删除
但是:在项目实际操作过程中,客户端和服务器进行数据交互的过程,所以在交互时根据实际数据处理方式,常用操作的有两种,主要用于进行数据交互
GET
POST

GET请求方式 VS POST请求方式

HTTP1.1标准中制定了不同的请求方式,用于不同的处理目的;但是在实际项目开发中通常都是客户端和服务端之间的数据交互,所以直接使用get、post两种方式就可以进行快捷的功能完成;唯一需要注意的就是get方式在进行参数传递时需要注意不要传递敏感数据,其他的区别如下:
get请求方式,直接发起请求,请求的数据会呈现在url地址中
传输文本数据
长度收到限制[get没有长度限制、对于get请求的url地址长度限制]
安全性较差
效率比较快
post请求方式,直接发起请求,请求的数据会包装在请求对象[请求体]中
传输任何数据
长度不受限制[理论]
安全性较好
效率较慢
如果传递二进制数据:必须使用post
如果传递的参数数据中有不能让别人看到的数据:必须使用post
如果只是传递简单参数用于进行数据处理,使用get效率更好

数据传递方式

GET方式传递数据:
 明确什么样的请求是get方式
 form表单中method=”get”,这个表单就是get请求
 超链接,就是get请求
 浏览器直接访问url地址,get请求
 get数据的接受
 request.GET方式直接接受,接受到一个字典{k:v}
 获取某个值:request.GET[‘name属性名称’]
 post数据的接受
 request.POST方式直接接受,接受到一个字典
 获取某个值:request.POST[‘name属性名称’]
 注意:在表单中增加一个令牌{% csrf_token %}

你可能感兴趣的:(视图模块)