我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

python开发笔记

1、django基类View的as_view方法

# 导入View基类
from django.views.generic.base import View
# 导入模版渲染函数
from django.shortcuts import render

# 这个是用户登录的验证类
class LoginView(View):
    """登录验证"""
    # get方式获login页面
    def get(self, request):

        return render(request, 'login.html', {})

    # 用户提交表单,返回主页
    def post(self, request):
        """提交表单"""
        return render(request, 'index.html', {})

urls中,导入LoginView,调用.as_view方法
url(r'^login/$', LoginView.as_view(), name='login')

当类视图调用as_view方法时,会把请求时的request方法自动对应到相应的类方法上,比如request的get方法对应到类视图的get方法。
as_view仅仅能自动对应get和post(具体的request方法在类属性当中有个列表:http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'])等方法,如果我在类视图定义了自己的方法,那as_view并不能把我自定义的方法对应起来。

分享文章:python开发笔记
文章位置:http://shouzuofang.com/article/jsgcge.html

其他资讯