![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
django
python里的网页制作
happy-cop
Tyrannosaurus Rex
展开
-
Django 项目 2.帖子发布models和admin修改
文章目录设计models在admin里注册models修改admin为中文添加标签和帖子设计models设计数据库,models包括category类别,tag帖子标签、post帖子内容帖子和标签是多对多many to many,相当于学生和课程帖子和类别是一对多foreign key,相当于学生和班级而不是一对一one to oneclass Category(models.Mod...原创 2020-04-28 19:08:36 · 341 阅读 · 2 评论 -
Django 项目 1.需求分析与基础环境搭建
文章目录项目需求找模板静态文件夹及配置基础模板base.html挖洞新建项目,初始化配置html继承与填坑项目需求首页展示(分页)帖子分类帖子归档近期文章关于博主全文搜索发布帖子会用到富文本编辑器帖子可以设置标签,左下角#Python找模板如果看到别人的页面好看,可以做成模板,右键,另存为,会变成一个文件夹,里面有各种css、js和图片有些看不见是在文件管理器里静态...原创 2020-04-21 00:08:50 · 189 阅读 · 0 评论 -
Django Template 14.AJAX校验用户名唯一
typeof可以测试是否字符串,得出是bool布尔类型<script type="text/javascript" src="..."<script> function checkUname(){ var uname = $('uname').val() if(uname.length==0){ $('#unameSpan').html('*'); $(...原创 2020-04-19 22:49:51 · 152 阅读 · 0 评论 -
Django Template 13.AJAX语法
get请求result返回和flag值测试同步和异步:异步:加5秒延时,则先执行后面的,再执行ajax的get改为同步要用原来的jquery ajax写法post请求原创 2020-04-13 19:45:50 · 375 阅读 · 0 评论 -
Django Template 12.表单类3-验证
文章目录models增加密码forms处理密码错误html增加密码和错误显示views获取密码错误信息并再返回至html错误显示和颜色本节学习表单验证,有两种方法1.JS方法2.表单类看下表单类如何实现,下节课讲原生的models增加密码在Stu里增加password字段,迁移提示是否对之前数据都增加默认字段,填123class Stu2(models.Model): sno...原创 2020-04-12 15:13:19 · 87 阅读 · 0 评论 -
Django Template 11.表单类2-模型类
文章目录建模型类并引用渲染html标签id标签内容文本框处理提交的post数据is_validsave上节课是登录,这节课是注册,涉及数据库的增删改,有很多django定义好的东西,简单好用建模型类并引用先在models里建两个类,Clazz2和Stu迁移进数据库class Clazz2(models.Model): cno = models.AutoField(primary_...原创 2020-04-12 13:38:14 · 100 阅读 · 0 评论 -
Django Template 10.表单类1-展示类
文章目录自带表单类新建forms.py建path、view和html提交后验证获取post字典校验自带表单类之前登录的html里有表单django里有自己的forms表单类,然后渲染到网页里新建forms.py其中密码输入框是有自己的widget形式form跟model很像,官网有个对比图from django import formsclass LoginForm(forms.F...原创 2020-04-11 16:41:20 · 152 阅读 · 0 评论 -
Django Template 9.修改admin后台布局
原始admin布局建一个blog文章的model,迁移到数据库里注意引入系统的admin表class BlogArticles(models.Model): title = models.CharField(max_length=300) author = models.ForeignKey(User, related_name='blog_posts', on_delete...原创 2020-04-10 22:59:26 · 340 阅读 · 0 评论 -
Django Template 8.自定义中间件
文章目录基本版增加view部分渲染前增加print总结:中间件流程图基本版在项目根目录里建package包名称是mymiddleware新建my.pyfrom django.utils.deprecation import MiddlewareMixinclass Row1(MiddlewareMixin): def process_request(self, reques...原创 2020-04-10 21:36:47 · 103 阅读 · 0 评论 -
Django Template 7.模板继承,CSRF跨域攻击
文章目录模板继承继承基础页面引入一段代码挖洞和填坑:主体内容CSRF跨域攻击csrf_token实现post安全请求局部CSRF策略全局关闭,局部开启全局开启,局部关闭本节课模板继承,比较实用,在thinkphp里也学过模板继承继承基础页面网页先写基础模板,左侧和上侧都是固定的,其他页面只要继承即可即在Templates文件夹里新建base.html先留着坑<div> ...原创 2020-04-10 00:01:59 · 138 阅读 · 0 评论 -
Django Template 6.全局上下文context
文章目录简易版模板渲染版应用以前曾经用过media这种全局变量现在我们自定义全局语境:context(不知道谁翻译的叫上下文,感觉没翻译好)简易版在app目录下自己建一个context名字是my_context_processors.pydef getData(request): return {'uname': 'zhangsan'}在setting里,先把之前的med...原创 2020-04-09 22:52:27 · 320 阅读 · 0 评论 -
Django Template 5.过滤器
过滤器概念从model传递给html的时候,参数可以在html里改变形式可以修改变量显示可以多层过滤,每层都加|可以带参数,参数中空格需要引号内置30个过滤器标准过滤器新建index5进行测试path('index5/', views.Index5View.as_view()),class Index5View(View): def get(self, reques...原创 2020-04-07 00:28:04 · 135 阅读 · 0 评论 -
Django Template 4.模板语法标签DTL
模板语法DTL变量标签{{}}块标签{%%}遍历列表:正逆循环、正逆编号遍历字典:多个参数empty无记录csrf_tokenautoescape自动转译开启关闭注释DTL django template language模板语法,也就是之前在html写的django语言,还包括刚才渲染字符串用的,包括两种:变量标签{{}}分别是字典list:切片不用中括号对象属性:year对象...原创 2020-04-06 18:06:47 · 228 阅读 · 0 评论 -
Django Template 3.模板对象,渲染网页
文章目录模板对象,渲染网页方式1 字符串方式2 原生读取html方式3 load简洁读取研究TEMPLATES底层前面我们学了利用View的as_view()来直接识别出来get还是post,在class里实现相应的功能现在我们来看看return的几种返回方式return render(request, ‘index4.html’)return HttpResponse(‘POST请求’)...原创 2020-04-06 17:48:18 · 207 阅读 · 0 评论 -
Django Template 2.引入静态文件(django自带static)
读取静态图片,用static上节课我们讲的是原生的,路径拼接比较麻烦,django自带static功能,只需要两步:修改static文件目录在settings.py里有这么一行代码STATIC_URL = '/static/'在隐藏的global_settings.py里有这样的路径,是个list,将它复制到setting里# A list of locations of addit...原创 2020-04-05 16:05:51 · 716 阅读 · 0 评论 -
Django Template 1.自定义视图类,读取静态图片(原生)
文章目录自定义视图类实现原理读取静态图片准备目的解决传递路径url获取文件名筛选出1.jpg拼接路径输出到页面之前在views都是写基于方法def的请求,现在来写基于类class的请求类是方法的集合我们之前经常判断请求方式get和post,可以写进类里用,基于通用视图as_view自定义视图类先写url,第一条是上节课写的,可以对比下我们会引用IndexView类里的as_view()...原创 2020-04-05 14:48:31 · 321 阅读 · 0 评论 -
Django Views 10. Session应用和序列化
文章目录登录页面-赋值用户中心页面-取值自定义类-传递多个值序列化部分序列化session除了可以利用默认引擎放数据库里,还有其他引擎,可以放在内存缓存里。应用:后台管理系统里,登录应用的个人信息展示显示欢迎XXX登录成功登录页面-赋值重写html登录login,写urls,views判断是否登录成功,这里用到重定向登录成功,重定向到另一个用户中心页面,将用户名放在session...原创 2020-04-04 23:59:50 · 142 阅读 · 0 评论 -
Django Views 9. Session语法
文章目录设置设置session设置有效时间删除删除对象删除对象和数据库获取获取字段输出cookie的sessionid设置设置session在session中添加数据,是session_store对象request.session[‘uname’] = ‘zhangsan’设置完后,在数据库中有个session系统表有key,data和过期时间其中data是我们设置的信息进行了j...原创 2020-04-04 23:13:00 · 107 阅读 · 0 评论 -
Django Views 8. Cookie应用:三天自动填充用户名和密码
文章目录登录页面判断请求方式GETPOST判断用户名和密码是否正确记住密码cookie加密和解密salt设置(加密)查询(解密)总结这个登录页面之前已经写过一次了,不过那时候我还没写博客。那时候是指定了用户名和密码,或者从数据库里去匹配;这次是获取cookie里的信息登录页面这次再建一个登录的pathpath('login2/', views.login2_view)先看网页,后面...原创 2020-04-02 23:03:10 · 318 阅读 · 0 评论 -
Django Views 7.Cookie语法
文章目录设置加密salt获取加密salt删除判断是否有回顾登陆页面,理解重定向Cookie设置将数据保存在客户端的应用,例如购物车response.set_cookie('uname','zhangsan',expires=value.path='/')urlpatterns = [ path('', views.setcookie_view), path('show...原创 2020-04-01 00:05:39 · 133 阅读 · 0 评论 -
Django Views 6 重定向和订制错误界面
from django.urls import pathfrom stu import viewsurlpatterns = [path(’’, views.index_view),path(‘showall’, views.showall_view),]from django.http import HttpResponseRedirect, HttpResponsefrom d...原创 2020-03-31 22:59:04 · 171 阅读 · 0 评论 -
Django Views 5.文件下载
修改html,跳转到下载链接{% for stu in stus %} <tr> <td>{{ forloop.counter }}</td> <td>{{ stu.sname }}</td> <td><img style="width: 200px;" sr...原创 2020-03-30 00:22:07 · 111 阅读 · 0 评论 -
Django Views 4.文件上传2-django自带文件操作
文章目录admin上传写model通过admin页面上传改变默认路径自制页面上传展示图片网页图片路由配置网页相对路径配置上节讲的是用原生的上传文件本节讲django自带的两种上传方式:admin和自制页面的files插入,以及展示图片并可以对默认路径进行修改admin上传写modelclass Student5(models.Model): sno = models.AutoF...原创 2020-03-29 22:58:56 · 182 阅读 · 0 评论 -
Django Views 4.文件上传1-原生文件操作
文章目录双功能view网页设计表格属性enctype字段读取照片上传照片一次性上传分块读取双功能view首先创建路径path('index2/', views.index2_view),复习下之前讲过的双功能view:view里,首先直接登录是GET方式,指向网页网页提交表单的方式为post,又返回该路径的view,执行POST条件最后还加了一个当前访问量过大的条件def ind...原创 2020-03-29 17:48:00 · 201 阅读 · 0 评论 -
Django Views 3.HttpRequest和HttpResponse
文章目录HttpRequest属性scheme协议类型http/httpsbody请求实际内容path请求地址method请求方式GET/POSTGET/POSTfiles和cookies以后再看META请求报文信息方法HttpResponse响应查看响应头修改响应头显示html代码无后缀进入index,点击F12,选择网络,刷新页面,可看到本节课要学的HttpRequest请求和HttpRes...原创 2020-03-29 12:44:07 · 315 阅读 · 0 评论 -
Django Views 2.urls配置和传参(逆向)
文章目录逆向解析1:html超链接到url准备工作见证奇迹-逆向解析逆向传递参数软编码-动态传参修改namespace逆向解析2-view逆向到url两节课总结逆向解析1:html超链接到url准备工作urls,空的时候指向index新建一个query4,附带一个name参数,注意与上节课的附带形式不同path('', views.index_view),path('query4/',...原创 2020-03-28 22:23:48 · 304 阅读 · 0 评论 -
Django Views 1.urls配置和传参(正向)
urlspath无传参re_path位置传参 views决定顺序改变位置看效果re_path关键字传参 re_path决定顺序re_path附加传参-自身带参数其他从本节课开始,models已经完结,开始学习views模块path无传参复习下以前讲过的path和views,跳转是不带参数的;通过alt加回车,可以跳转并新建相应views方法# coding=utf-8from djan...原创 2020-03-28 13:18:28 · 502 阅读 · 0 评论 -
Django Model 12.事务介绍、原子性应用、惰性查询
文章目录装饰器MySQL事务基本要素并发问题隔离级别Django事务惰性查询缓存数据装饰器属于python的基础,包括二阶和三阶(带参数)使用时在前面加上@xx,是可以将后面的方法进行装饰,带上xx的功能MySQL事务基本要素原子性:一次做完,不能做了一半一致性:A给B汇款,A少了,B会多隔离性:同一时间只能一个事务,不能干扰持久性:完成后不能回滚rollback并发问题...原创 2020-03-26 20:41:17 · 364 阅读 · 0 评论 -
Django Model 11.Q查询和F查询
文章目录背景知识Q查询复习多条件Q的与或非F查询F选择原数据Q的批量更新背景知识models还是学生、班级Q查询复习多条件可以用逗号,也可以用双过滤器.filter .filterMovie.objects.filter(mname__icontains='H',mid=7497)Movie.objects.filter(mname__icontains='H').filter(mi...原创 2020-03-26 13:25:09 · 122 阅读 · 0 评论 -
Django Model 10.原生sql语句
这里写自定义目录标题模型类用sql的select语言raw原生查询cursor游标查询封装方法模型类还是上节课的Clazz和Student重写unicode方法,显示姓名和成绩用sql的select语言raw原生查询原生查询只适合全选from stu.models import *stus = Student.objects.raw('select * from stu_stude...原创 2020-03-26 11:53:53 · 302 阅读 · 0 评论 -
Django Model 9.自带超实用聚合、分组、嵌套、关联函数,不再写复杂SQL
文章目录聚合函数aggregate分组聚合函数annotate子查询关联查询表结构目的备注1备注2前面几节课,是单表查询及一些应用,但有时候会用到更复杂的嵌套查询,我前几年用原生的sql语句写的特别累,太复杂了,还是学学django自带的聚合函数查询吧。聚合函数aggregate共有五类,有点像Excel表常用的那种Max最大Min最小Count计数Sum合计Avg平均值fr...原创 2020-03-23 00:09:20 · 1073 阅读 · 0 评论 -
Django Model 8.探索objects背后的秘密,制作自己的save插入
文章目录目的建数据模型重写save类1.寻找父类参数2. 插入课程3.执行父类save插入的方式有两种,之前讲过create的改写,这次来看看save如何改写。目的之前讲过一对一的save方式,一对多和多对多只讲了create,没有讲save,其实是一样的,要保存两次:第一张表先保存过程第二张插入的时候,级联保存过程stu = Student1(sname=‘zhangsan’)s...原创 2020-03-22 18:37:33 · 173 阅读 · 0 评论 -
Django Model 7.探索objects背后的秘密,制作自己的create插入
重写了查询,重写了删除,这节课我们重写objects里的create插入方法前景回顾:班级、学生、课程关系是:班级:学生 一对多课程:学生 多对多回顾下之前繁琐的插入过程:1.插入班级、插入课程;2.插入学生,级联的是班级;3.插入中间项(课程-学生 多对多)实现功能:增强版create想用create(学生、班级、多个课程),一次性实现这些过程,可以改写create...原创 2020-03-22 12:46:28 · 419 阅读 · 0 评论 -
Django Model 6.探索objects背后的秘密,制作自己的逻辑删除delete
注意:本节课有点难,需要有上节课的基础单个对象的逻辑删除删除的delete,调用的是来自父类object里的deleteStudent3.objects.first().delete()通过ctrl键可以定位到该方法,在base.py里默认是物理删除,会把该条数据都删了而我们想实现的是逻辑删除,因为还要查看删除记录;方法是修改某条数据的isdelete字段为True针对单个对象...原创 2020-03-21 23:43:04 · 658 阅读 · 0 评论 -
Django Model 5.探索objects背后的秘密,制作自己的筛查器all
文章目录探秘制作测试探秘之前我们经常用object来进行表之间的查询Student.objects.all()默认全部返回,如果想根据条件筛选返回,比如逻辑删除isdelete字段,可以自己来写这个objects及all方法点击objects,能看到是来自父类管理器Managerclass Manager(BaseManager.from_queryset(QuerySet)):p...原创 2020-03-21 15:05:50 · 126 阅读 · 0 评论 -
Django Model 4.班级、学生、课程,级联查询页面
文章目录第一个页面1.url2.views3.html第二个页面urls和viewshtml本节课要做这样的页面:主页展示每个班级信息,点击超链接可至第二个页面,展示该班级里具体学生的数据第一个页面1.url定义该页面的后缀/student/showall/path('showall/', views.showall_view)关联新views,shit+alt+enter2....原创 2020-03-21 01:33:39 · 661 阅读 · 2 评论 -
Django Model 3 班级、学生、课程,级联注册页面
自定义标题创建url和视图编写html文件编写model数据表在前面部分,已经新建了stu的app,并初步学会了数据库相关操作。本节课学习创建学生事务的注册页面。创建url和视图首先在项目的url.py里增加指向,这里的path是接着/stu/后面的链接,因为前面已经在项目的url里注册过。http://127.0.0.1:8000/stu/register/from django.u...原创 2020-03-18 01:07:32 · 431 阅读 · 2 评论 -
Django Model 2.数据库—多表查询
文章目录1.一对一2.一对多3.多对多上一张只学了单表,对于论坛等网站,会有很多表之间关联,用sql语言需要嵌套,相当繁琐,下面我们看下如何用django自带的代码来处理这些表格。一对一:学生和学生证一个学生只有一个证,一个证只属于一个学生student = `models.OneToOneField(Student,primary_key=True,on_delete=models....原创 2020-03-16 16:38:49 · 454 阅读 · 0 评论 -
Django 基础知识-project,app,mysql,pycharm,admin
Django1.数据库—单表查询单表查询操作1.全表查询 all2.查询单个对象 get/filter3. 查询第一个、最后一个、总数4. 切片5. 模糊查询6. 非空7. 多条件8. 部分字段9.排除一部分10.排序11.比较12.单表增删改13.左、右、内连接前面学了Django的MVT基本知识、登录和注册页面、分页。接下来是对mysql数据库的操作。单表查询操作利用ORM 对象关系映射...原创 2020-03-15 00:55:34 · 216 阅读 · 0 评论 -
Django Model 1.数据库—单表查询
python里网站制作有两个特别厉害的工具,一个是重量Django,一个是轻量Flask,我选择的是Django,因为它很多轮子都造好了。1.新建项目Project在pycharm里file菜单直接创建,也可以写python语句在django里,每个模块应用叫app,菜单创建项目时可以同时创建一个app2.新建app通过命令行创建新的apppython manage.py starta...原创 2020-03-15 01:16:19 · 190 阅读 · 0 评论