![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
django
a_py
web
展开
-
Django组件之modelform
前言经历了前面的纯手写我的form逻辑,以及我们的Django的form组件,终于来到了ModelForm组件了。ModelForm是我们form与model的结合很是强大。ModelForm:我直接写在了views.py里面,这是个不好的习惯知道吧,我是为了方便:在这里面class Meta: 的Meta是大写的请注意。class BookForm(ModelForm): cl...原创 2020-03-26 17:55:51 · 269 阅读 · 0 评论 -
Django组件之 form(modelform的引导)
form功能生成HTML标签验证用户数据(亦可以显示错误信息error)form表单保留上次提交的数据初始化页面显示的内容我们在这里一一讲解,友情闪现到上一篇:纯手写篇为了方便我这里没有直接创建一个forms文件。而是直接在views中直接写我们的Form的代码,大家还是自己创建一个forms文件好一点,都在一个目录下面是会破坏代码的耦合度的。创建一个BookForm类:cla...原创 2020-03-24 15:56:29 · 389 阅读 · 0 评论 -
Django的form表单(Django的form以及modelform的引导)
前言:在一个网站中肯定会有大量的表单提交,但是如果每个表单都需要我们自己全部生写的话,就比较难受了,所以Django中的modelform就很有意思了。Django中的form:木有对比就没有伤害。所以要知道Django的modelform的好,就要从普通的form来对比。form:先创建一个form_test的Django项目:里面有有个app01 :的app。目录如下;...原创 2020-01-14 11:13:38 · 921 阅读 · 0 评论 -
Django的url路径自动添加问题(末尾自动添加/)
我们来观察一个现象:在这里可以看到,无论是访问user视图还是访问role视图。访问后url最后都会添加一个斜杠结尾,很多人都认为这是浏览器自动添加的,那我们再看看这个呗:看这个图的后半段,你会发现百度,csdn这些网站访问根本就不会自动添加/说明这不是浏览器自动添加的。因为这是dajngo自动添加的。我们只需在settings.py设置:APPEND_SLASH=False这样...原创 2020-01-06 11:36:02 · 4433 阅读 · 0 评论 -
基于Django的RBAC组件(menu显示)进阶篇(四)
我们之前权限中的list分类的东东,因为edit,delete,add这些都不适合放在menu,所以就放list下的东东。list相关,那我们重新拿数据库中的字段信息了,menu中,至少需要url,title,这两个字段,然后是list分类下的。所以我们需要list,url,title这三个字段呢!我们需要在permission_url.py末尾添加这几行代码:版本1:# 唯有list的u...原创 2020-01-06 10:46:55 · 799 阅读 · 0 评论 -
基于Django的RBAC组件(按钮的细粒度权限)进阶篇(三)
前言 :我这边使用002账号登录:其权限只有这几个:只有查看和添加用户的权限,但是你看看我们这个网页中,既然用户没有权限,为什么还要给别人选项,这不是给人心里添堵吗。所以我们需要进行细粒度权限 没有权限就不需要给别人显示这个选项。细粒度权限控制 前面url的权限已经完善了,所以我们需要更细粒度的权限控制的时候就需要用到我们,进阶篇(二) 那时添加的表字段了,里面我们不是添加了一个acti...原创 2020-01-03 13:54:07 · 1088 阅读 · 1 评论 -
基于Django的RBAC组件(角色的访问控制)进阶篇(二)
之前这个基础版有其局限性,当我们进行更细粒度的权限控制时会显得比较乏力。所以在这进阶篇中,我们进行了改进。对数据库表以及表字段进行了增加完善。所以看不懂的话,可以先看看基础版现在开始正题:首先我们先对 app01/views.py中的这两个函数进行修改def user(request): user_obj = User.objects.all() return render(...原创 2020-01-02 10:34:52 · 888 阅读 · 0 评论 -
基于Django的RBAC组件(角色的访问控制)基础版(一)
关于RBACRBAC是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。RBAC实际上也就是 Who 、What、How之间的关系,也就是Who对What进...原创 2019-12-17 14:31:57 · 2119 阅读 · 8 评论 -
通过字符串引入模块下的属性
flask中可以配置一个字符串导入settings下的配置文件app.config.from_object("settings.ProductionConfig")这里就是来讲解一下这个到底是怎么实现的。例1:原创 2019-06-25 00:23:31 · 118 阅读 · 0 评论 -
django.template.exceptions.TemplateDoesNotExist: rest_framework/api.html 报错
django.template.exceptions.TemplateDoesNotExist: rest_framework/api.html报错,我在使用postman进行提交请求是能正常调用的,但是使用浏览器就会抛出这个错误这是因为我们没在settings中的app中注册我们的rest_framework导致的。只需在INSTALLED_APPS = [ 'django.c...原创 2019-05-14 15:40:55 · 6042 阅读 · 2 评论 -
何谓同源策略与Jsonp
同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两...原创 2019-04-09 15:29:35 · 265 阅读 · 0 评论 -
Django基于admin的stark组件创建(一)
首先创建一个名为stark_test的Django项目,创建2个app一个名为app01用来测试stark组件,一个就叫做stark,用来放stark组件如图:我们这里使用的是Django自带的数据库,因为没什么影响,如果你想使用其他数据库也是一样的。创建好项目后,就要思考一下,你想想Django项目app里面有个admin.py文件每次你启动的时候都会自动执行这个文件。所以我们也要...原创 2019-04-11 23:10:35 · 329 阅读 · 0 评论 -
Django form组件的使用及modelform
平时自己在手写前端form表单的时候很复杂繁琐(我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。),但是Django的form表单帮你简化了这一个流程也帮你做了这样的事情,1.生成页面可用的html标签2.对传递到浏览器的数据进行校验3.保留上次输入的数据(如果有错误数据没...原创 2019-04-02 20:35:52 · 397 阅读 · 0 评论 -
python的Django模板系统(由于Django的强大需要定时更新)
1.常用语法只需要记两种特殊符号:{{ }}和 {% %}变量相关的用{{}},逻辑相关的用{%%}。 在Django的模板语言中按此语法使用:{{ 变量名 }}。当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。点(.)在模板语言中有特殊的含义。当模版系统遇到...原创 2018-11-02 16:31:11 · 241 阅读 · 0 评论 -
django 项目创建及连接mysql
使用virtualenv创建虚拟环境,你可能会问为什么要使用虚拟环境,虚拟环境就是一个个隔离区,让你的项目之间没有冲突,比如你这个项目可能要使用django1.11.11,下一个项目你的boss就要求你别的项目使用django2.1。还有你这次可能使用py2,下次要使用py3,virtualenv就可以很好的帮你解决掉这些问题。我是在使用virtualenv的基础上使用virtualenvwr...原创 2018-11-06 00:44:07 · 365 阅读 · 0 评论 -
Django ORM相关操作(1)
今天先将一些比较常见的参数吧。关于orm操作的。参数1. all(): 查询所有结果 2. filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 3. get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 4. ...原创 2018-11-15 21:13:40 · 162 阅读 · 0 评论 -
Django ORM相关操作(2)
今天就讲讲关于双下划线的操作,这是第二篇关于orm相关操作的文章,还想看请往上翻第一篇。# -*- coding: utf-8 -*-# @Time : 2018/11/15 19:26# @Author : lh# @Email : .com# @File : orm_test.py# @Software: PyCharm"""ORM小总结前面讲解...原创 2018-11-16 14:19:32 · 134 阅读 · 0 评论 -
关于Django的session的使用 (装饰器版)
http协议是无状态,无状态的意思是每次请求都是独立的,它的这次请求和下次请求是没有关系的。这样我们在web要判断是否登录就要传递一种信息给我们的服务器,让服务器根据你给的信息,返回你的东西。这里我是直接写如何在Django中使用的。from django.shortcuts import render, redirect, HttpResponsefrom users imp...原创 2018-11-22 21:27:28 · 443 阅读 · 0 评论 -
函数装饰器在类方法中的使用方法
CBV中加装饰器要在CBV视图中使用我们上面的check_login装饰器,有以下三种方式:都要先导入这个方法: from django.utils.decorators import method_decorator1. 加在CBV视图的get或post方法上2. 加在dispatch方法上3. 直接加在视图类上,但method_decorator必须传 name 关键字参数...原创 2018-11-23 11:45:50 · 941 阅读 · 0 评论 -
Django项目下auth认证的使用(二)
基于Django的auth认证系统,你写一个项目时,当你需要判断 用户是否登录,是否有权限直接访问你的网站,还是需要登录才有权限访问,这些东西都是基于一个cookie或者session的。系统通过判断你浏览器端 是否携带认证的信息,从而给你赋予什么样的权限(现在也有一个什么缓存登录的,你们也可以去了解一下)。但是cookie或者session的话,你是不是要自己写一个cookie或者session...原创 2018-12-17 17:30:37 · 171 阅读 · 0 评论 -
dajngo框架中 simple_tag以及inclusion_tag 的使用
simple_tag的使用首先需要在你的项目app下创建一个名字为templatetags的Python文件夹,名字必须是这个,不然识别不出来,,然后在里面创建一个py文件,在里面定义你的函数, 我这里是my_tagsfrom django import template#实例register = template.Library()@register.simple_tag...原创 2019-01-11 11:37:35 · 244 阅读 · 0 评论 -
django入门使用pycharm创建教程(virtualenv进行版本控制)
1.引出,在现在你写一个项目不可能只是使用一个版本的东西,如你做django项目,这次可能你的boss要求你使用django1.11.11的,下一次就要求你使用django2.1.1 版本的了。但是如何做到版本与版本之间的兼容呢?这里就要使用虚拟环境了,我这里使用的虚拟环境是virtualenv,关于virtualenv的安装我这里先不进行教学。直接使用virtualenv进行安装django1....原创 2018-10-24 23:43:13 · 585 阅读 · 0 评论