Django基础3——视图函数

这篇具有很好参考价值的文章主要介绍了Django基础3——视图函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本了解

1.1 Django内置函数

模块类型 函数释义
http HttpResponse:给客户端返回结果信息。
FileResponse:下载文件。
JsonResponse:返回JSON。
StreamingHttpResponse:响应可迭代对象。
shortcuts render:响应HttpResponse对象,一个快捷函数。
redirect:跳转函数
views generic view 类视图继承的类。
decorators csrf csrf_exempt,csrf_protect 取消某视图CSRF防护。
contrib admin:内建管理后台。
auth.login:登录
auth. logout:退出。
auth.authenticate:用户信息认证。
auth.decorators login_required 登录认证装饰器。
auth. models.User:获取登录用户信息.
auth. models.BaseUserManager,AbstractBaseUser:扩展auth user表字段
conf settings:导入配置文件
db connection:连按数据库

1.2 http请求流程

http工作流程:

  1. 浏览器访问网址时,浏览器会建立TCP连接进行三次握手。浏览器作为客户端,web服务器作为服务端。
  2. 客户端会给服务端发送http请求(Request),get请求数据,post请求会携带一些数据给服务端去数据库进行查询。发送的http请求中会夹带着封装好的有关自己的数据,比如资源地址、浏览器信息等等。
  3. 服务端接收到请求后开始处理,处理完后对客户都安发送响应http请求(Response),该请求中包含处理的正文信息、响应状态码等等。
  4. 客户端接收到响应正文,网站一般是html文件内容,并展示到浏览器上,最后关闭tcp连接。
    Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

http请求在django中的流程:

  1. 客户端输入IP地址进行查询访问,该请求会直接到django中,接着读取urls.py文件的路由规则。若能匹配到其中的规则,则将接收到请求信息发送给视图函数中的第一个位置参数;若不能匹配规则,则返回404。
  2. views.py接收到请求信息后,由HttpResponse模块进行响应请求,并发送给客户端。
    Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

二、HttpRequest对象(接受客户端请求)

2.1 常用属性

  • Django会建立一个包含请求源数据的HttpRequest对象,当Django加载对应的视图时,HttpRequest
    对象将作为函数视图的第一个参数(request),每个视图负责返回一个HttpResponse对象。
    Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
常用属性 描述
request.scheme 表示请求协议的字符串(http或https)
request.body 原始HTTP请求正文
request.path 一个字符串,请求页面的完整路径,不包含域名
request.method 一个字符串,请求的HTTP方法,比如GET/POST等
request.GET GET 请求所有参数,返回QueryDict类型,类似于字典
request.POST POST 请求所有参数,返回QueryDict类型
request.COOKIES 以字典格式返回Cookie
request.session 可读写的类似于字典的对象,表示当前的会话
request.FILES 所有上传的文件
request.META 返回字典,包含所有的HTTP请求头。比如客户端IP,Referer等

1.示例代码。

##############################################################
1、devops/urls.py路由规则。
urlpatterns = [
    re_path('^request_detail/$',views.request_detail,name="request_detail")
]

##############################################################
2、devops/views.py视图,定义函数。
def request_detail(request):   ##request用于接受客户端发来的请求信息。
    print(request.scheme)
    print(request.body)
    print(request.path)
    print(request.method)
    print(request.GET)     ##此行查询信息为空,是因为客户端没有传参,下文专门示例说。
    print(request.POST)    ##此行查询信息为空,是因为客户端没有传参,下文专门示例说。
    print(request.COOKIES)
    print(request.session)
    print(request.FILES)
    print(request.META)
    print(request.META["HTTP_HOST"])
    print(request.META["HTTP_USER_AGENT"])
    return HttpResponse("测试")   ##HttpResponse用于“礼貌”给客户端响应一个字符串,不然网页会返回404。

2.浏览器搜索,查看返回信息。

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.2 常用方法

方法 描述
request.get_host() 服务器主机地址和端口
request.get_port() 服务器端口
request.get_full_path() 请求页面完整路径和查询参数
request.get_raw_uri() 请求页面URL所有信息,包括主机名、路径和参数

1.浏览器不传参查询。

##############################################################
1、devops/urls.py路由规则。
urlpatterns = [
    re_path('^request_detail/$',views.request_detail,name="request_detail")
]

##############################################################
2、devops/views.py视图,定义函数。
def request_detail(request):   ##request用于接受客户端发来的请求信息。
    print(request.get_host())
    print(request.get_port())
    print(request.get_full_path())
    print(request.get_raw_uri())
    return HttpResponse("测试")   ##HttpResponse用于“礼貌”给客户端响应一个字符串,不然网页会返回404。

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
2.客户端传参查询。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.3 服务端接收URL参数

  • 上面的2.2中有用到客户端传参查询,这就是条件查询,服务端根据客户端传过来的参数对数据库进行查询并返回结果。
  • 客户端使用?进行传参,参数一般都是以类似字典形式请求服务端,使用&符号对传入的多参数进行拼接。

1.服务端接受url参数方式。

##############################################################
1、devops/urls.py路由规则。
urlpatterns = [
    re_path('^request_detail/$',views.request_detail,name="request_detail")
]

##############################################################
2、devops/views.py视图,定义函数。
def request_detail(request):   ##request用于接受客户端发来的请求信息。
    print(request.GET)   ##以字典形式返回客户端传入参数,方式一。
    print(request.GET["name"])    ##对传入的参数进行取值,方式二。
    print(request.GET.get("age"))   ##对传入的参数进行取值,方式三,推荐使用。
    return HttpResponse("测试")   ##HttpResponse用于“礼貌”给客户端响应一个字符串,不然网页会返回404。

2.浏览器传参异常时,使用GET.get方法查询可以避免程序出错。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.4 QueryDict对象

  • request.GET和request.POST返回的都是一个QueryDict对象,类似于字典。
方法 描述
req.get(key,default) 返回key的值,如果key不存在返回default
req.items() 返回迭代器,键值
req.values() 返回迭代器,所有键的值
req.keys() 返回所有键
req.getlist(key,deafult) 返回key的值作为列表,如果key不存在返回default
req.lists() 返回迭代器,所有键的值作为列表
req.dict() 返回字典

1.区分get请求和post请求返回的参数。

##############################################################
1、devops/urls.py路由规则。
urlpatterns = [
    re_path('^request_detail/$',views.request_detail,name="request_detail")
]

##############################################################
2、devops/views.py视图,定义函数。
def request_detail(request):   ##request用于接受客户端发来的请求信息。
    qingjun = request.GET   ##使用get请求返回。
    baimu = request.POST     ##使用post请求返回。
    print(type(qingjun))
    print(type(baimu))
    print(qingjun.get("name"))
    return HttpResponse("测试")   ##HttpResponse用于“礼貌”给客户端响应一个字符串,不然网页会返回404。

2.查看返回参数。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.5 案例

request对象应用场景:

  • 获取客户端信息、请求页面情况。
  • 接收客户端上传的数据,例如文件。
  • 根据客户端特定信息做相应的处理,例如根据请求方法。

2.5.1 表单GET提交

  • 在网页上搜索关键字,客户端会默认根据关键字提交对应的参数给服务端,服务端在数据库进行查找返回对应参数的值给客户端,如此网页就会展示搜索结果。
  • 类似在百度上搜索,当在搜索框中输入关键字时,浏览器会自动给服务端提交对应的参数,服务端在数据库查找这些参数值,最后返回给客户端,展示在网页上。
    Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

1.定义路由规则,修改devops/urls.py文件。

from django.contrib import admin
from django.urls import path,include,re_path
from devops import views

urlpatterns = [
    re_path('^search/$',views.search,name="search")
]

2.定义视图,修改devops/views.py文件。

from django.shortcuts import render  ##渲染html页面
from django.shortcuts import HttpResponse

def search(request):
    print(request.GET)
    args_1 = request.GET.get('name')
    args_2 = request.GET.get('age')
    args_3 = request.GET.get('section')
    baimu = "你要搜索的名字为:%s;年龄为:%s;所在部门是:%s" %(args_1,args_2,args_3)
    print(result)
    return render(request, 'search.html', {'baimu': result})

3.定义html模板,创建templates/search.html文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>员工搜索</title>
</head>
<body>
<h1>搜索结果如下</h1>
<h3>{{ baimu }}</h3>
</body>
</html>

4.浏览器传参搜索,模拟百度搜索框功能,验证效果。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.5.2 表单POST提交

  • 登录页面一般都是两个请求,一个get请求用于登陆页面显示,一个post请求用于账户密码登录框显示。

1.定义路由规则,修改devops/urls.py文件。

from django.urls import re_path
from devops import views

urlpatterns = [
    re_path('^$', views.index),
    re_path('^login/$',views.login,name="login"),
]

2.定义视图,修改devops/views.py文件。

from django.shortcuts import render,redirect   ##导入函数redirect,

def index(request):
    # return HttpResponse("首页")
    return render(request,'index.html')

def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')
    elif request.method == "POST":
        print(request.POST)
        username = request.POST.get("username")
        password = request.POST.get("password")
        # 查询数据库是否用户名和密码正确
        if username == 'qingjun' and password == 'citms':
            #跳转首页
            return redirect("/")
        else:
            msg = "用户名或密码错误 !"
        return render(request, 'login.html', {'msg': msg})

3.定义html模板,创建templates/login.html文件。

#####################################################################
##网页显示登录页面模板。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>平台登陆</title>
</head>
<body>
<h1>欢迎访问DevOps系统</h1>
<form action="{% url 'login' %}" method="post">   ##跟上提交路径,一般登录和提交都是同一个页面,所以这里还是指定的登录页面,默认的请求方式为get,修改成post
    用户名:<input type="text" name="username"><br>
    密码:<input type="text" name="password"><br>
    <button type="submit">登录</button>
    <span style="color:red;">{{ msg }}</span>    ##专门搞一个标签,若登录用户密码错误,视图函数那里应该要打印一行字符串用于提示用户,这里是把视图那里的提示字符串传到这里来了,展示到网页界面。
</form>
</body>
</html>



#####################################################################
##网页登录成功跳转到首页的模板。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网站首页</title>
</head>
<body>
<h1>博客首页</h1>
</body>
</html>

4.禁用django内部功能,防止网页因为安全问题访问不到内容。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
5.访问网页,验证效果。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.5.3 上传文件

  • 修改头像功能。

1.定义路由规则,修改devops/urls.py文件。

from django.urls import re_path

urlpatterns = [
    re_path('^user_upload/$',views.user_upload,name="user_upload"),
]

2.定义视图,修改devops/views.py文件。

from django.shortcuts import render

def user_upload(request):
    if request.method == "GET":
        return render(request, 'upload.html')
    elif request.method == "POST":
        print(request.FILES)    ##获取上传的文件。
        obj = request.FILES.get('touxiang')  ##获取上传过来的文件对象。
        print(type(obj),obj.name)
        import os
        file_path = os.path.join('upload', obj.name)
        with open(file_path, 'wb') as f:
            for i in obj.chunks():    ##django内置函数,循环接收文件块。
                f.write(i)    ##写入到本地文件。
        msg = "上传成功!"
        return render(request, 'upload.html',{"msg": msg})

3.定义html模板,创建templates/upload.html文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传文件</title>
</head>
<body>
<form action="{% url 'user_upload' %}" method="post", enctype="multipart/form-data">
    <input type="file", name="touxiang">
    <button type="submit">提交</button>
    <br>
    <span style="color:red;">{{ msg }}</span>
</form>
</body>
</html>

4.创建图片保存目录,一般与项目应用同级,我这里创建为devops/upload目录。
5.访问web,上传本地照片。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

三、HttpResponse对象(返回给客户端请求)

3.1 HttpResponse函数

函数作用:

  • 给浏览器返回数据

语法:

  • HTTPResponse(content=响应体,content_type=响应体数据类型,status=状态码)

1.返回html模板内容给客户端,不推荐使用,因为html模板内容较多,一般都是使用render函数返回。

###############################################################
1、devops/urls.py文件。
from django.urls import path,include,re_path

urlpatterns = [
    path('apm/', include('apm.urls')),
]

###############################################################
2、devops/apm/urls.py文件。
from django.urls import path
from apm import views

urlpatterns = [
    path('qingjun/', views.wuhan),
]

###############################################################
3、devops/apm/views.py文件。
from django.shortcuts import HttpResponse

def wuhan(request):
    # return HttpResponse("这是第一个功能首页!!")    ##返回字符串回应客户端。
    # return HttpResponse("<h1>hello</h1>")   ##返回html模板内容给客户端,方式一。
    a = HttpResponse("<h1>hello1</h1>")    ##方式二,可以添加内容返回给客户端,比如状态码等等。
    return a

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
2.设置响应头,服务端给前端响应内容。

###############################################################
1、devops/urls.py文件。
from django.urls import path,include,re_path

urlpatterns = [
    path('apm/', include('apm.urls')),
]

###############################################################
2、devops/apm/urls.py文件。
from django.urls import path
from apm import views

urlpatterns = [
    path('qingjun/', views.wuhan),
]

###############################################################
3、devops/apm/views.py文件。
from django.shortcuts import HttpResponse

def wuhan(request):
    # return HttpResponse("这是第一个功能首页!!")
    # return HttpResponse("<h1>hello</h1>")   ##返回html模板内容给客户端,方式一。
    a = HttpResponse("<h1>hello1</h1>")    ##方式二,可以添加内容返回给客户端,比如状态码等等。
    a["name"] = "zhangsan"    ##响应内容给客户端。
    a.status_code = 999     ##自定义响应状态码。
    return a

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

3.2 render函数

函数作用:

  • render指定模板,返回一个渲染后的HttpResponse对象。

语法:

  • render(request, template_name, context=None, content_type=None, status=None, using=None)
  • request:固定参数,django封装的请求
  • template_name:返回html模板
  • context:传入模板中的内容,用于渲染模板,默认空字典

1.返回渲染后的HttpResponse对象,再展示到前端网页。

###############################################################
1、devops/urls.py文件。
from django.urls import re_path
from devops import views

urlpatterns = [
    re_path('^search/$',views.search,name="search"),
]
###############################################################
2、devops/views.py文件。
from django.shortcuts import render

def search(request):
    print(request.GET)
    args_1 = request.GET.get('name')
    args_2 = request.GET.get('age')
    args_3 = request.GET.get('section')
    result = "你要搜索的名字为:%s;年龄为:%s;所在部门是:%s" %(args_1,args_2,args_3)
    print(result)
    return render(request, 'search.html', {'baimu': result})
###############################################################
3、templates/search.html模板。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>员工搜索</title>
</head>
<body>
<h1>搜索结果如下</h1>
<h3>{{ baimu }}</h3>
</body>
</html>

2.网页访问,查看效果。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

3.3 redirect函数

函数作用:

  • 重定向,发起第二次请求。
  • 上文中的登录案例就用到该函数,登陆成功后跳转到其他页面。

语法:

  • redirect(to, *args, **kwargs)
  • 参数可以是:一个视图、一个绝对的或者相对的URL、一个模型,对象是重定向的URL。

1.转发给URL,可以写绝对路径,也可以写相对路径。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.转发给视图。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

3.4 StreamingHttpResponse函数

函数作用:

  • 流式响应可迭代对象,节省内存资源,适用大数据传输情景。
  • HttpResponse函数可以给客户端返回数据,Django是先把这个数据保存在内存中,客户端接收到数据后再释放内存,倘若返回数据很大,就很消耗内存资源,这时就可以使用StreamingHttpResponse函数进行流式响应数据。
  • 如下示例,下载图片到本地,当下载成功后用StreamingHttpResponse函数返回给客户端信息。

1.上传图片功能,使用render对html模板渲染,再以HttpResponse对象返回给客户端。

##############################################################
1、定义路由规则,修改devops/urls.py文件。
from django.urls import re_path

urlpatterns = [
    re_path('^user_upload/$',views.user_upload,name="user_upload"),
]
##############################################################
2.定义视图,修改devops/views.py文件。
from django.shortcuts import render

def user_upload(request):
    if request.method == "GET":
        return render(request, 'upload.html')
    elif request.method == "POST":
        print(request.FILES)    ##获取上传的文件。
        obj = request.FILES.get('touxiang')  ##获取上传过来的文件对象。
        print(type(obj),obj.name)
        import os
        file_path = os.path.join('upload', obj.name)
        with open(file_path, 'wb') as f:
            for i in obj.chunks():    ##django内置函数,循环接收文件块。
                f.write(i)    ##写入到本地文件。
        msg = "上传成功!"
        return render(request, 'upload.html',{"msg": msg})
  
##############################################################
3.定义html模板,创建templates/upload.html文件。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传文件</title>
</head>
<body>
<form action="{% url 'user_upload' %}" method="post", enctype="multipart/form-data">
    <input type="file", name="touxiang">
    <button type="submit">提交</button>
    <br>
    <span style="color:red;">{{ msg }}</span>
</form>
</body>
</html>
##############################################################
4.创建图片保存目录,一般与项目应用同级,我这里创建为devops/upload目录。
5.访问web,上传本地照片2.jpg。

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

2.下载图片到本地,以StreamingHttpResponse对象返回给客户端。

##############################################################
1、定义路由规则,修改devops/urls.py文件。
from django.shortcuts import render
from django.urls import re_path
from devops import views

urlpatterns = [
    re_path('^user_upload/$',views.user_upload,name="user_upload"),
    re_path('^download/$', views.download),
    re_path(r'^down_file/(?P<filename>.*)$', views.down_file, name="down_file")
]

##############################################################
2.定义视图,修改devops/views.py文件。
from django.http import StreamingHttpResponse
import os

def download(request):   ##第一个视图,获取文件下载列表,并使用render渲染到前端展示能下载的图片有哪些。
    file_list = os.listdir('upload')       ##获取devops/upload目录下的图片列表。
    return render(request, "download.html", {'file_list': file_list})     ##将图片列表渲染展示到前端。
    
def down_file(request, filename):    ##网页打开路径download/2.jpg
    file_path = os.path.join('upload', filename)      ##再转发到upload/2.jpg进行下载。
    response = StreamingHttpResponse(open(file_path, 'rb'))   ##函数打开文件读取,并以块的方式给客户端流式响应。
    response['Content-Type'] = 'application/octet-stream'   ##添加了一个流式类型。
    response['Content-Disposition'] = 'attachment; filename=%s' %(os.path.basename(file_path))   ##前端下载时,保留下载图片名称。
    return response

##############################################################
3.定义html模板,创建templates/download.html文件。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>下载文件</title>
</head>
<body>
    {% for i in file_list %}
        <p><a href="{% url 'down_file' i %}">{{ i }}</a></p>
        {# url拼接结果 :/down_file/2.jgp #)
    {% endfor %}
</body>
</html>

Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

3.5 FileResponse函数

函数作用:

  • 与StreamingHttpResponse函数不同,该函数更适合下载小点的文件。
  • 适用方法和StreamingHttpResponse相同。

1.使用FileResponse函数下载图片写法。

############################################################
##修改devops/views.py文件,只需将StreamingHttpResponse函数改成FileResponse函数。
def download(request):
    file_list = os.listdir('upload')
    return render(request, "download.html", {'file_list': file_list})
def down_file(request, filename):
    file_path = os.path.join('upload', filename)
    response = FileResponse(open(file_path, 'rb'))     ##修改函数。
    response['Content-Type'] = 'application/octet-stream'
    response['Content-Disposition'] = 'attachment; filename=%s' %(os.path.basename(file_path))
    return response

2.查看下载结果。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维

3.6 JsonResponse函数

函数作用:

  • 将python对象响应成JSON对象,方便别人进行使用。
  • 与json.dumps()函数作用相同,只是更加快捷一点。

1.返回一个json对象。

##############################################################
1、定义路由规则,修改devops/urls.py文件。
from django.urls import re_path
from devops import views

urlpatterns = [
    re_path('^json/$',views.json)
]

##############################################################
2.定义视图,修改devops/views.py文件。
from django.http import JsonResponse
def json(request):
    a = {'name':'wangwu', 'age':22}
    return JsonResponse(a)

2.网页访问,查看结果。
Django基础3——视图函数,python,django,sqlite,python,开发语言,运维文章来源地址https://www.toymoban.com/news/detail-670342.html

到了这里,关于Django基础3——视图函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django实现接口自动化平台(十二)自定义函数模块DebugTalks 序列化器及视图【持续更新中】

    上一章: Django实现接口自动化平台(十一)项目模块Projects序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解,查看本章内容时,要结合整体项目代码来看: python django vue httprunner 实现接口自动化平台(最终版)_python+vue自动化测试平台_做测

    2024年02月16日
    浏览(42)
  • django如何连接sqlite数据库?

    目录 一、SQLite数据库简介 二、Django连接SQLite数据库 1、配置数据库 2、创建数据库表 三、使用Django ORM操作SQLite数据库 1、定义模型 2、创建对象 3、查询对象 总结 本文将深入探讨如何在Django框架中连接和使用SQLite数据库。我们将介绍SQLite数据库的特点,Django的数据库配置,以

    2024年02月06日
    浏览(55)
  • python Django render()函数使用祥解

    render()函数传递context来填充模板 help文档中render描述 render(request, template_name, context=None, content_type=None, status=None, using=None) 参数: request: 是一个固定参数 template_name: templates中定义的文件,注意路径名。比如:“templates/polls/index.html”, 则参数这样写:“polls/index.html” context: 要传

    2024年02月17日
    浏览(36)
  • python项目之数学函数绘图软件(django)

    管理员用户: (1)个人信息管理:管理员用户可以通过此功能对自己的密码进行维护。 (2)用户信息管理:管理员用户通过此功能可以维护系统内注册用户的信息,比如可以对用户的姓名、电话或联系方式等信息进行管理。 (3)绘制列表管理模块:管理员用户可以对系统

    2024年02月08日
    浏览(30)
  • Django登录注销视图

    Django在身份验证框架中包含了一些你可以直接使用的表单和视图。在大多数情况下,可以使用默认的Django认证视图。 Django在django.contrib.auth.views提供了以下基于类的视图来处理身份验证: LoginView:处理登录表单并登录用户 LogoutView:注销用户 Django提供了以下视图来处理密码修

    2024年01月21日
    浏览(40)
  • Django视图

    一、url路由 自上而下的,如果匹配的路由中是包含int转换器,则不能匹配其他的不是int的相关字符,譬如文字等; 自定义路由转换器: 1、创建一个converter.py的文件; 2、再写一个类: class FourDigitYearConverter: regex = ‘[0-9]{4}’ # 类属性,一个字符串形式的正则表达式属性 def

    2024年02月05日
    浏览(33)
  • Django之视图

    一)文件与文件夹 当我们设定好一个Djiango项目时,里面会有着view.py等文件,也就是文件的方式: 那么我们在后续增加app等时,view.py等文件会显得较为臃肿,当然也根据个人习惯,这时我们可以使用文件夹的方式: 原本我的views.py中有着这些函数: 现在我在web的app下命名一

    2024年02月07日
    浏览(40)
  • Django - 视图和模板

    视图 - 是具体的业务代码 在 app 下的 views.py 文件中编写代码     为了调用该视图,我们还需要编写urlconf,也就是路由配置。在polls目录中新建一个文件,名字为urls.py(不要换成别的名字),在其中输入代码如下:     接下来,在项目的主urls.py文件中添加urlpattern条目,指

    2024年04月11日
    浏览(40)
  • Django 9 常用通用视图分析

    提供基于不同http方法执行不同逻辑的功能。 1. 创建 terminal输入 django-admin startapp the_13回车  2.tutorial子文件夹 settings.py注册一下 3. tutorial子文件夹 urls.py 4. the_13views.py  ctrl + 鼠标左键 点击 View可以看源码里面的View方法 。 as_view方法里面重写了view方法,这个view方法返回dispa

    2024年01月21日
    浏览(49)
  • Django笔记(四):视图views

    视图view处理客户端请求并生成响应数据,可简单认为编写接口的部分。 上述index视图,会返回一个“hello world”的响应。 render返回html,JsonResponse返回json格式(字典),redirect重定向到其他页面,可以是个完整url也可以是某个路由的name,笔记(三)urls中每条路由配置可以设置

    2024年01月19日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包