一.ORM补充 ORM操作三大难点: 正向操作反向操作连表 其它基本操作(包含F Q extra) 性能相关的操作 class UserInfo(models.Model): uid = models.BigAutoField(primary_key=True) username = models.CharField(max_length=32) passwd = models.CharField(max_length=64) age = models.ImageField(null=True)…
一.视图CBV 1.urls url(r'^login.html$', views.Login.as_view()), 2.views from django.views import View class Login(View): def get(self,request): return HttpResponse('from get') def post(self,request): return HttpResponse('from post') 二.ORM补充 正向操作 result =…
一.CBV(基于类的视图) 视图是可以调用的,它接受请求并返回响应,这不仅仅是一个函数,Django提供了一些可以用作视图的类的例子,这些允许您通过继承或mixin来构建视图并重用代码. 基本示例 Django提供了基本的视图类,它将适用于广泛的应用程序.所有的视图类都继承自View该类,它处理将视图链接到URL,HTTP方法调用和其他简单的功能. 在URLconf中简单使用 BookView是一个视图类,而不是一个函数,所以我们将URL指向as_view()类方法,它为基于类的视图提供了类似于…
Django限制请求method 常用的请求method GET请求 GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情. POST请求 POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改.比如提交一篇文章给服务器. 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制.比如这个视图只能通过GET的method访问等.以下将介绍一些常用的内置视图装饰器. 1.django.http.decorator…
类视图 在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图.使用类视图可以使用类的一些特性,比如继承等. View django.views.generic.base.View是主要的类视图,所有的类视图都是继承自他.如果我们写自己的类视图,也可以继承自他.然后再根据当前请求的method,来实现不同的方法.比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)方法.以此类推,如果只需要实现post方法…
Django框架基本上都是要和数据库结合使用的,我在以前讲过SQLAlchemy框架的使用,Django支持的不是SQLAlchemy,但是也内嵌了ORM框架,可以不需要直接面对数据库编程,而可以通过定义模型类,通过面向对象的方式来实现数据表的增删改查. 点击查看官方的文档 创建表 ORM和DB的对应关系 通过下面的图回顾一下ORM和DB的对应关系 创建数据库 和SQLAlchemy差不多,Django的数据库必须手动创建database. 我们先创建一个名字叫DjangoDB的数据库. mys…
本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其实主要细节还是Bootstrap的常用的语法使用.除了基本流程,本文基于BBS+Blog项目进行学习,主要是完成其项目的模板的功能,顺带学习一下Bootstrap的内容. 我使用的Python版本为3.X,Bootstrap版本为3.3.31,Django版本为2.0. 模板语法不懂的可以参考博客:…
Django的分页器(paginator) 总之不太好用我们还是用自己的好一些 自定义分页器 分页实现源码 """ 自定义分页组件 """ class Pagination(object): def __init__(self, current_page, all_count, base_url, params, per_page_num=8, pager_count=11, ): """ 封装分页相关数据 :par…
一.Django目录介绍 django-admin startproject mysite # 创建名为mysite的项目 cd mysite # 切换到该目录下 python manage.py starapp app01 # 创建app01业务线 project - app01 - admin Django自带后台管理相关配置 - modal 写类,根据类创建数据库表 - test 单元测试 - views 业务处理 - app02 - app03 二.路由系统 url和函数的对应关系 a.…
生成CSV文件 有时候我们做的网站,需要将一些数据,生成有一个CSV文件给浏览器,并且是作为附件的形式下载下来.以下将讲解如何生成CSV文件. 生成小的CSV文件 这里将用一个生成小的CSV文件为例.我们用Python内置的csv模块来处理csv文件,并且使用HttpResponse来将csv文件返回回去.示例代码如下: import csv from django.http import HttpResponse def csv_view(request): response = HttpRe…