Django之视图层介绍

1. 伪静态设置:

路由层:
url(‘^index/$‘, views.index),
url(‘^article/(?P<id>(\d+)).html/$‘, views.article, name=‘article‘)
#只有在正则表达式后面添加 ".html" 就可以成为伪静态的页面文件

2. rquest 获取对象

‘‘‘
1. method: 请求方式
2. GET: get请求的参数
3. POST: post请求的参数(本质是从bdoy中取出来)
4. body: post提交的数据(不能直接查看)
5. path: 请求的路径,不带参数
6. request.get_full_path(): 请求路径,带参数
7. FILES: 文件数据
8. encoding: 编码格式
9. META: 数据大汇总的字典
‘‘‘

3. Django的FBV与CBV的区别

FBV:function base views 函数方式完成视图响应
CBV:class base views 类方式完成视图响应
‘‘‘
‘‘‘
视图层:
from django.shortcuts import HttpResponse
from django.views import View
class RegisterView(View):    #使用CBV要继承View这个类
    def get(self, request):
        return HttpResponse("响应get请求")
    def post(self, request):
        return HttpResponse("响应post请求")
路由层:
url(‘^path/$‘, views.RegisterView.as_views())    #注意使用CBV后面一定给要上.as_views()

4.Django的虚拟环境配置:

1.通过pip3安装虚拟环境:
    -- pip3 install virtualenv
2.前往目标文件夹:
    -- cd 目标文件夹  (C:\Virtualenv)
3.创建纯净虚拟环境:
    -- virtualenv 虚拟环境名 (py3-env1)
了解:创建非纯净环境:
    -- virtualenv-clone 本地环境 虚拟环境名
4.终端启动虚拟环境:
    -- cd py3-env1\Scripts
    -- activate
5.进入虚拟环境下的python开发环境
    -- python3
6.关闭虚拟环境:
    -- deactivate
7.PyCharm的开发配置
    添加:创建项目 -> Project Interpreter -> Existing interpreter -> Virtualenv Environment | System Interpreter -> 目标路径下的python.exe
    删除:Setting -> Project -> Project Interpreter -> Show All

Django创建虚拟环境使用,不懂就要看视频了

5.Django的简单实现文件上传功能

‘‘‘
前端:upload.html页面
1.往自身路径发送post请求,要将第四个中间件注释
2.multipart/form-data格式允许发送文件
3.multiple属性表示可以多文件操作
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="files" multiple="multiple">
    <input type="submit" value="上传">
</form>

后台:re_path(‘^upload/$‘, upload)
def upload(request):
    if request.method == "GET":
        return render(request, ‘upload.html‘)
    if request.method == "POST":
        # 如果一个key对应提交了多条数据,get取最后一个数据,getlist取全部数据
        last_file = request.FILES.get(‘files‘, None)
        files = request.FILES.getlist(‘files‘, None)
        # import django.core.files.uploadedfile.TemporaryUploadedFile
        # file是TemporaryUploadedFile类型,本质是对系统file类封装,就是存放提交的文件数据的文件流对象
        for file in files:
            with open(file.name, ‘wb‘) as f:
                for line in file:  # 从file中去数据写到指定文件夹下的指定文件中
                    f.write(line)
        return HttpResponse(‘上传成功‘)
‘‘‘

简单实现文件上传功能

原文地址:https://www.cnblogs.com/gukai/p/10771049.html

时间: 2024-11-09 08:10:22

Django之视图层介绍的相关文章

【Django】 视图层说明

[Django视图层] 视图层的主要工作是衔接HTTP请求,Python程序和HTML模板,使他们能够有机互相合作从模型层lou到数据并且反馈.说到视图层的工作就有以下几个方面要说 ■ URL映射 对于一般的,通过django.conf.urls.url设置url路径,并且关联视图函数,甚至把url方法的参数写成正则表达式从而可以给视图函数传递多个参数的事情就不多说了.比如: url(r'^single/([0-9]{4})/([0-9]{2})/([0-9]+)/$',views.single

Django(视图层、模板层)

render原理: def ab_render(request): temp = Template("<h1>{{ user_dict }}{{ user_dict.username }}{{ user_dict.password }}</h1>") user_dict = Context({'user_dict':{'username':'jason','password':123}}) res = temp.render(user_dict) return

django 之 视图层、模板层

目录 视图层 模板层 视图层 一.视图函数返回的都是一个HttpResponse对象 render 和 redirect 都是直接或者间接传的 二.JsonResponse 下面这个是正常的json的序列化 views.py 层 def test1(request): user_dict={'username':'jason 顶天立地 ','password':123} json_str= json.dumps(user_dict,ensure_ascii= False)###保证中文不会转成b

Django之视图层的简介与使用

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

Python之路【第二十八篇】:django视图层、模块层

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

Django - - - -视图层之视图函数(views)

阅读目录(Content) 视图层之视图函数(views) 一个简单的视图 1.HttpRequest 2.HttpResponse 1.render 函数 2.redirect 函数 对比render与redirect: 回到顶部(go to top) 视图层之视图函数(views) 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.

肆拾陆 ---django视图层与模板层

django视图层与模板层 一.视图层 1.1 HttpResponse.render.redirect ? HttpResponse:返回字符串: ? redirect:重定向 ? render:返回一个html页面,也可以给模板传值 ? render的逻辑原理: from django.template import Template,Context def index(request): res = Template('<h1>{{ user }} </h1>') con =

Django之路由层

Django之路由层 一 路由的作用 路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在urls.py中,如下图: 二 简单的路由配置 # urls.py from django.conf.urls import url # 由一条条映射关系组成的urlpatterns这个列表称之为路由表 urlpatterns = [ url(regex, view, kwargs=None, name=None), # url本质就是一个函

django通用视图

通用视图 1. 前言 回想一下,在Django中view层起到的作用是相当于controller的角色,在view中实施的 动作,一般是取得请求参数,再从model中得到数据,再通过数据创建模板,返回相应 响应对象.但在一些比较通用的功能中,比如显示对象列表,显示某对象信息,如果反复 写这么多流程的代码,也是一件浪费时间的事,在这里,Django同样给我们提供了类似的 "shortcut"捷径--通用视图. 2. 使用通用视图 使用通用视图的方法就是在urls.py这个路径配置文件中进