views 视图层

1.request对象

method:请求方式 GET:get请求的参数(post请求,也可以携带参数)

POST:post请求的参数(本质是从bdoy中取出来,放到里面了)

COOKIES--->后面讲 META:字典(放着好多东西,前端传过来的,一定能从其中拿出来)

body:post提交的数据 path:请求的路径,不带参数

request.get_full_path() 请求路径,带参数

session---后面讲 user---后面讲

FILES encoding:编码格式

is_ajax()---后面讲

2HttpResponse

三件套(render,HttpResponse,redirect)

-JsonResponse:往前端返回json格式数据(没有它,我可以自己写) -转列表格式:指定safe=False -中文字符问题:json_dumps_params={‘ensure_ascii‘:False}

def jsonre(request):
    dic = {‘name‘:‘msj‘,‘pwd‘:"123"}
    #from django.http import JsonResponse
    # 最基础的支持字典形式
    # return JsonResponse(dic)

    #想要支持其他格式的json对象的话,取消safe=False设置
    return JsonResponse([dic],safe=False)

3 wsgiref,uwsgi, 都遵循wsgi协议

—遵循一个协议wsgi(web server Gateway interface web 服务网关接口)

wsgiref单线程,不支持高并发,uwsgi 支持高并发

4 CBV(基于类的视图)和FBV(基于函数的视图)

CBV 必须继承

views文件中

from django.views import View

类的固定模式

class Myclass(View):
    def dispatch(self,request,*args,**kwargs):
        #逻辑代码块
        res= super().dispatch(request,*args,**kwargs)
        return
    def get(self,request):
        #逻辑代码块
        return HttpResponse(‘cbv--get‘)
     def post(self,request):
        #逻辑代码块
        return HttpResponse(‘cbv--post‘) 

在路由中的使用方法

url(‘^mycass/$‘,views.MyClass.as_view())
#需要加()执行,获得相应的地址

5 文件上传

-form表单默认提交的编码方式是enctype="application/x-www-form-urlencoded" -前端:如果要form表单上传文件,必须指定编码方式为:multipart/form-data -后端:

def upload(request):
    if request.method == "GET":
        return render(request,‘upload.html‘)
    else:
        #浏览器上传的文件使用的是post方法,而具体对象在request对象.Files.get("name")
        file = request.FILES.get(‘ss‘)
        with open(file.name,‘wb‘) as f:
            for line in file:
                f.write(line)
        return HttpResponse("上传成功")

6 前端提交数据编码格式:

-multipart/form-data(上传文件) -application/x-www-form-urlencoded(默认编码)

<form action="/upload/" method="post" enctype="multipart/form-data">
    <input type="file" name="ss">
    <input type="submit" value="提交">

</form>

7 图书管理系统表分析:

图书管理系统 -表: book表 author表 publish表

-一对一:一对多的关系一旦确立,关联字段写在哪都可以

-一对多:一对多的关系一旦确立,关联关系写在多的一方

-多对多:多对多的关系,必须创建第三张表(中间表)

原文地址:https://www.cnblogs.com/msj513/p/10246692.html

时间: 2024-10-11 17:26:06

views 视图层的相关文章

Django框架之视图层(views)介绍

一.视图层类型 1.FBV与CBV FBV:基于函数的视图 CBV:基于类的视图(学习重点) #使用CBV时,路由层写法 urlpatterns = [ #分析源码这里也可写成 url(r'^mycls/', views.view),这种格式与FBV路由层中一致 url(r'^mycls/', views.MyCls.as_view()),] ''' FBV与CBV中路由层都是:路由对应视图函数内存地址 ''' # 使用CBV时,首先在views文件中导入View模块 from django.v

Django 基础 之 视图层(views)

一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 视图层,熟练掌握两个对象即可:请求对象(r

Django基础之视图层(views.py)和模板层

目录 Django基础之视图层(views.py)和模板层 视图层 JsonResponse对象 form表单上传文件 FBV与CBV 即CBV源码分析 django settings源码分析及实际应用 模板层 模板传值 过滤器( | ) 常用内置过滤器 其他过滤器(了解) 标签 if判断 for循环 with标签 csrf_token标签 自定义过滤器和标签 自定义过滤器 自定义标签 自定义过滤器和标签的区别 模板的继承 模板的导入 Django基础之视图层(views.py)和模板层 视图层

6 Django的视图层

视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 下面是一个返回当前日期和时间作为

Django的视图层

一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了--可以说"没有什么神奇的地方".为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 下面是一个返回当前日期和时间作为

Django2.0路由补充之path,re_path及视图层

以下是Django2.0版本 正则捕获到的参数都是字符串,所以如果函数需要用的其他数据类型,可以在函数中直接转换,也可以在路由中直接转换,如下: 下面实例是匹配整数,传过去的参数就是整数 from django.urls import path,re_path path('admin/<int:year>,view.year.archive') ===>匹配到一个整数变量 Django默认支持以下5个转化器: str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式 int,匹配

Django之视图层

一.视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了--可以说"没有什么神奇的地方".为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 下面是一个返回当前

Django -- 6.视图层

视图层 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了--可以说"没有什么神奇的地方".为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 下面是一个返回

ORM之视图层

1.request对象 前台POST传来的数据,包装到POST字典中request.POST 前台浏览器窗口携带的数据,包装到GET字典中request.GET 前台请求的方式,request.method post提交的数据,body体的内容,前台会封装成:name=lqz&age=18&sex=1 request.body 取出请求的路径,取不到数据部分print(request.path) 取出请求的路径,能取到数据部分print(request.get_full_path()) r