![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django框架细节
杨恺俞
这个作者很懒,什么都没留下…
展开
-
Django博客园
项目介绍**这是一个用python Django框架开发的Web博客园项目。源码下载地址https://gitee.com/yangkaiyu/my_blog.git需求和编码大致流程如下:**1、 基于用户认证组件和Ajax实现登录验证,图片验证。2、 基于forms组件和Ajax实现注册功能。3、 系统首页是文章列表渲染。4、 个人站点页面。5、 文章详情页。6、 文章点赞功能。7、 文章评论功能。8、 富文本编辑框和防XSS攻击。源码下载地址https://gite原创 2021-10-23 09:53:26 · 934 阅读 · 0 评论 -
Django中XSS攻击与防范原理
Django中XSS攻击就是跨站脚本攻击,就是利用HTML对页面进行恶意的标签渲染,从而达到攻击网站的效果,更严重的情况是直接获取用户信息,对网站造成巨大损失。只不过Django自动帮我们做了这个防护功能,我们可以不必刻意做这些保护,但是对于开发者而言,在调用或者解除这些限制的时候要注意,不要留下漏洞。解除限制很简单,有两种方式。一,在前端模板语言中实现,只须用到帮助函数safe.如: ...原创 2019-02-12 21:17:36 · 656 阅读 · 0 评论 -
Django REST framework源码分析及三大组件
1:CBV2:APIViewclass BooksView(APIView): passurl(r’^books/$’, views.Bookview.as_view(),name=“books”),流程分析:我们执行BooksView,此时访问路由books,访问的不简单是view,首先继承APIView类,最后执行View类下的view。访问books,view的执行,view(re...原创 2019-01-29 21:30:33 · 225 阅读 · 0 评论 -
Django cookie与session
cookie1、获取Cookie:request.COOKIES['key']request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default: 默认值 salt: 加密盐 max_age: 后台控制过期时间2、设置Co...原创 2019-02-14 20:59:19 · 117 阅读 · 0 评论 -
Django Restfull
一. 什么是RESTfulREST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态所有的数据,不过是通过网络获取的还是操作(增删改查)的数据...原创 2019-01-16 22:01:14 · 168 阅读 · 0 评论 -
Django自带的用户认证
auth模块from django.contrib import authauth中提供了许多实用方法:authenticate() 提供了用户认证功能,即验证用户名以及密码是否正确,一般需要username 、password两个关键字参数。如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。authenticate()会在该 User 对象上设置一个属性来标...原创 2019-01-31 19:46:34 · 139 阅读 · 0 评论 -
Django中Form组件
创建Form类时,主要涉及到 【字段】 和 【插件】,主要用于用户请求数据的验证,插件用于自动生成HTML;1.Django内置字段如下:Fieldrequired=True, 是否允许为空widget=None, HTML插件label=None, 用于生成Label标签或显示内容initi...原创 2019-01-15 21:05:41 · 137 阅读 · 0 评论 -
Django中ORM所有基本操作
model update常规用法假如我们的表结构是这样的class User(models.Model):username = models.CharField(max_length=255, unique=True, verbose_name=‘用户名’)is_active = models.BooleanField(default=False, verbose_name=‘激活状态’)...原创 2019-01-20 12:32:45 · 1563 阅读 · 0 评论 -
Django中ORM高级操作
ORM一对多,多对多操作,本次着重理解多对多。models中类的定义from django.db import modelsclass UserProfile(models.Model): user_info = models.OneToOneField('UserInfo', on_delete=models.CASCADE) username = models.Cha...原创 2019-01-19 15:50:13 · 198 阅读 · 0 评论 -
Django自带分页功能
from django.core.paginator import Paginator, PageView视图里面:def index(request): current_page = request.GET.get('page') user_list = models.UserInfo.objects.all() paginator = Paginator(user...原创 2019-01-19 12:24:14 · 544 阅读 · 0 评论 -
Django中CSRF(跨站请求伪造)
一、简介django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站请求伪造功能有分为全局和局部。全局:中间件 django.middleware.csrf.CsrfViewMiddleware局部:@csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便...原创 2019-01-13 20:15:40 · 178 阅读 · 0 评论 -
Django中ORM基本操作
增删查改## models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs# obj = models.Tb1(c1='xx', c2='oo')# obj.save()# 查## models.Tb1.objects.get(id=123) # 获取单条数据,不存在则报错(不建议)...原创 2019-01-18 10:19:03 · 152 阅读 · 0 评论 -
Django MySQL 配置
更改数据库连接DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_test', 'USER':'root', 'PASSWORD':'', 'HOST':'localhost', 'P...原创 2019-01-07 18:41:15 · 75 阅读 · 0 评论 -
Django上传文件
view视图函数里面def upload_img(request): if request.method == 'GET': return render(request, 'fileTest/uploadfile.html') else: file_obj = request.FILES.get('file1') with open...原创 2019-01-17 21:16:27 · 75 阅读 · 0 评论 -
Python的Django框架设置动态路由
re_path(r'^edit/(\w+)/(\w+)/$', views.edit, name='edit'), re_path(r'^edit/(?P<a1>\w+)/(?P<a2>\w+)/', views.edit, name='edit'),def edit(request, *args, **kwargs): print(args,...原创 2019-01-06 19:54:30 · 1334 阅读 · 0 评论