Django框架基础知识14-类视图
MTV
view视图
wsgi函数
def index(request):
....
return HttpResponse()
特定的HTTP方法.get,post可以定义单独的方法
继承,多继承,代码分解成可以复用的组件
在urls.py中定义调用类视图
path('index/', views.IndexView.as_view(), name='index'),#类视图的调用,注意加括号
类视图的写法
class IndexView(View):
def get(self,request):
num = request.COOKIES.get('num', None)
if num:
num = int(num) + 1
else:
num = 1
response = render(request, 'teacher/index.html', context={
'num': num
})
response.set_cookie('num', str(num))
return response
通用类视图
在student_list.html中定义如下
{% for student in object_lsit %}
<p>{{ student }}</p>
object_list是listview默认的变量
类视图权限装饰器:
在urls.settings里面装饰
项目实践,看文档
from django.contrib.auth.decorators import login_required
在url中套上login_required.
path('newstudent/',login_required(views.StudentListView.as_view()),name='StudentLV'),
或者这样
class IndexView(View):
@method_decorator(login_required)
def get(self,request):
@method_decorator(login_required,name='dispatch')
class StudentListView(ListView):
template_name = 'teacher/students_list.html'
model = Students
context_object_name = 'students'
paginate_by = 3
section = '学生列表'
# @method_decorator(login_required)
# def dispatch(self, request, *args, **kwargs): #颁发装饰
# return super().dispatch(*args,**kwargs)
Django框架基础知识14-类视图的更多相关文章
- Django框架基础知识08-表关联对象及多表查询
1.自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义,int类型,自增长 一般不自定义主键. 2.order_by asc desc from djan ...
- Django框架基础知识01-配置环境
Django框架 Django是个怎样的东西呢? Web应用框架----Django http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理. Web应用框架处理完以后再发送给htt ...
- Django框架基础知识12-中间件及上下文处理器
Django中间件(Middleware) 是一个轻量级.底层的“插件”系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. django 中的中间件(middleware) ...
- Django框架的使用教程--类视图-中间间-模板[六]
类视图 类视图的使用 视图函数 class class_view(View): """类视图""" def get(self, reques ...
- Django框架基础知识02-路由及渲染
1.URL(Uniform Resoure Locator)统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的URL ...
- Django框架基础知识13-auth系统
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户 ...
- Django框架基础知识11-会话状态保持及表单
浏览器存储cookie的方式不太安全,那有没有更好些的来存储登入状态的方式呢??? 状态保持----cookie和session: 状态保持: 1.http协议是无状态的:每次请求都是一次新的请求,不 ...
- Django框架基础知识06-模型基础
1.数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 有创建数据库权限的用户 创建数据库 crm 修改配置 se ...
- Django框架基础知识09-请求与响应
视图函数接受到的request到底是个什么对象呢? HttpRequest对象: 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest ...
随机推荐
- influxdb数据库的安装部署(windows)二
1.把下载好的文件解压到目录中 2.以管理员身份运行cmd进入influxdb-1.7.6-1文件夹 3.生成influxdb数据的默认配置Config文件 4.修改Config配置信息 5.用配置好 ...
- .NET CORE之API日志收集
我们在构建WEBAPI项目时,通常需要构建一个全局的记录API 请求和返回 的功能,在WEBAPI框架下 我们通过自定义一个DelegateHandler来实现这个功能, 在.NET CORE框架下已 ...
- Java | 基础归纳 | set
用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复.
- VS2017专业版使用最新版Qt5.9.2教程(最新教材)
QT配置 Creator ================================================================= 之前运行release版本或者de ...
- Qt样式表之一:Qt样式表和盒子模型介绍
一.Qt样式表介绍 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件.Qt样式表的概念.术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CS ...
- git分支提交管理
随着需求的增多,为了多人协作的顺利进行,需要进行分支开发,进而带来分支管理问题.今天主要讲一下如何管理分支及提交. 为了使git更好用,下面是我的git配置文件(放在C:\Users\Administ ...
- hihocoder offer收割编程练习赛8 C 数组分拆
思路:(引自bfsoyc的回答:http://hihocoder.com/discuss/question/4160) 动态规划.状态dp[i]表示 前i个数的合法的方案数,转移是 dp[i] = s ...
- poj2677 Tour
题意: 双调欧几里得旅行商问题. 思路: dp.定义dp[i][j](i <= j)为从点j从右向左严格按照x坐标递减顺序走到点1,之后再从点1从左向右严格按照x坐标递增的顺序走到点i,并且在此 ...
- 《Head First HTML与CSS》的HTML标签、属性
一个标准的html5页面: <!doctype html> <html lang="zh-cmn-Hans"> <head> <meta ...
- TigerGraph REST++API
简介 - 什么是REST ++? TigerGraph TM 系统使用着名的REpresentational State Transfer(REST)架构来管理与TigerGraph核心组件,图形处理 ...