
Django学习笔记
xiaoa~
这个作者很懒,什么都没留下…
展开
-
Django-web框架引入之MVC
MVC框架 Model(数据库) View(模板文件) Controller(业务处理) 就等于 MTV Model(数据库) Templete(模板文件) View(业务处理)如在Controller中写一个account.py 作为业务处理模块import timedef handle_index(): f = open("View/index.html",'rb') d原创 2018-02-04 22:13:10 · 278 阅读 · 0 评论 -
django学习笔记---如何自定义中间件详解
知识点django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件。如下图,我们要想自定义中间件只要在里面添加即可,比如我在middle目录下创建了middlef...原创 2018-03-25 17:24:03 · 833 阅读 · 0 评论 -
django学习笔记---django如何debug
第一步:如果django处于运行状态,点击终止按钮第二步:选择要debug的语句,然后确认需要debug语句,点击图中红色debug,进入调试器第三步:发送url请求就可以看到相关信息了...原创 2018-03-25 17:38:31 · 4755 阅读 · 0 评论 -
django学习笔记------缓存
配置settings.py 和上一篇的学习笔记 sessions的配置一样CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', # 存入文件缓存 'LOCATION': os.path.join(BASE_DIR,'cache...原创 2018-04-01 18:10:32 · 244 阅读 · 0 评论 -
django学习笔记---Django进行验证时form表单的error及error的几种前端展示
views.pyfrom django import formsclass FM(forms.Form): user = forms.CharField(error_messages={'required':'用户名不能为空'}) # 定制错误信息 pwd = forms.CharField(max_length=12,min_length=6,error_messages=...原创 2018-04-01 20:36:24 · 16138 阅读 · 1 评论 -
django学习笔记---form组件验证,如何给form组件添加样式
views.pyfrom django import formsfrom django.forms import widgetsfrom django.forms import fieldsclass FM(forms.Form): # 因为charField等字段只能进行验证,默认用的input框,如果要用别的html,要添加样式需要用widgets插件,为啥见下图流程(并且最好把...原创 2018-04-01 21:46:33 · 922 阅读 · 0 评论 -
django学习笔记---django的内置信号和自定义信号
Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。1、Django内置信号Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行...原创 2018-04-02 17:44:17 · 938 阅读 · 0 评论 -
django中内置的User类记录
1.在做登录验证或者注册的时候,用内置的User类会方便许多,但是其中也有一些不同,特此记录先导入user类,然后创建一个类做一对一关联from django.contrib.auth.models import Userclass UserProfile(models.Model): user = models.OneToOneField(User,unique=True) ...原创 2018-04-15 15:48:42 · 1380 阅读 · 0 评论 -
Django学习笔记---ModelForm自定义ValidationError进行表单验证即给model字段添加限制条件
ValidationError文档modelclass UserAsk(models.Model): name = models.CharField(max_length=20,verbose_name=u"用户名") mobile = models.CharField(max_length=11,verbose_name=u"手机号码") course_name = mo...原创 2018-05-23 11:00:01 · 8299 阅读 · 0 评论 -
Django之sql注入,XSS攻击,CSRF攻击原理及防护
sql注入的危害非法操作用户数据库的数据来获取利益,通过修改数据库来修改网页的内容,注入木马等未完待续原创 2018-06-21 13:06:18 · 5842 阅读 · 1 评论 -
RESTFUL协议
RESTFUL API设计 规范摘自 http://www.ruanyifeng.com/blog/2014/05/restful_api.html协议API与用户的通信协议,总是使用HTTPs协议。域名 https://api.example.com 尽量将API部署在专用域名(多个api的话会存在跨域问题,需要解决跨域问题,可以通过jsp解决,就...翻译 2018-05-31 13:29:28 · 3994 阅读 · 0 评论 -
HTTP协议与cookie和session
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。HTTP的3个特点HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端...原创 2018-05-31 14:38:03 · 399 阅读 · 0 评论 -
在阿里云的centos7下通过nginx+uwsgi部署Django
做这个着实把我坑了一把。照着网上的步骤做下去不是遇到了各种的bug,总之不能全信,要回看error很重要,这样就能get到你要的内容了。1 安装虚拟环境 虚拟环境不一定要root权限,不过我此次都是用的root操作的。如果用python3 manage.py runserver运行django的话就要root了# pip3.6 install virtualenvwrapper...原创 2018-06-11 00:49:25 · 1817 阅读 · 1 评论 -
Django实现标签联动以及xadmin中实现标签联动
如图,即实现点击一个城市,出现对应的学校名称。开始一直以为是建立数据表的时候实现的,原来是通过ajax实现的。思路:当get请求显示原始状态(即下拉框呈现全部内容)。当点击一个城市后,通过ajax的post方式提交,然后后端返回筛选的数据到前端,然后js先将所有的学校标签删除,创建后端传过来的学校标签views.pyclass IndexView(View): def g...原创 2018-07-11 12:08:30 · 2469 阅读 · 0 评论 -
django学习笔记---session和缓存详细介绍
知识点简单来讲:Cookie是保存在用户浏览器端的键值对;Session是保存在服务器端的键值对。用于用户登录认证用。Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:数据库(默认)缓存文件缓存+数据库加密cookie1、数据库SessionDjango默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中...原创 2018-03-24 20:22:28 · 2074 阅读 · 1 评论 -
django学习 笔记---添加登录装饰器(FBV和CBV模式)
接上一篇博文的例子FBV模式def cookie(func): def deco(request,*args,**kwargs): # FBV 不太清楚为什么要写两次u,可能是内部吧?如果是正常的装饰器应该一次就够了 u = request.get_signed_cookie('username', salt='user', default=None) ...原创 2018-03-24 12:37:04 · 789 阅读 · 0 评论 -
一个简单的socket网页交互
import socketdef handle_request(client): buf = client.recv(1024) client.send(b"HTTP/1.1 200 OK\r\n\r\n") # 这里这样写,才能返回,还不清楚为啥 client.send(b"Hello, Seven")def main(): sock = socke原创 2018-02-04 22:21:36 · 3065 阅读 · 0 评论 -
解决django使用sqlite3的外键约束没作用及配置mysql库
首先,在models中创建2张表class Business(models.Model): caption = models.CharField(max_length=32)class Host2(models.Model): nid = models.AutoField(primary_key=True) hostname = models.CharField(max...原创 2018-03-11 12:33:46 · 1097 阅读 · 2 评论 -
django中创建多对多对应关系的异同点及如何通过外键正反向查找(双下划线使用)及Model中的一些技巧
-----------------添加学习用户---------------------在model中定义方法(该方法如果想在模板语言中使用,不能传递参数,因为模板语言是没有括号的,可以写self.usercourse_set.all().count()来计算总数)class Course(models.Model): 。。。 def get_user(self): ...原创 2018-03-11 13:59:31 · 898 阅读 · 0 评论 -
django学习笔记---Form表单应用及获取关联表单数据的3种方式(列表,字典,元祖)。
app01下models.pyclass Business(models.Model): caption = models.CharField(max_length=32)class Host2(models.Model): nid = models.AutoField(primary_key=True) hostname = models.CharField(max_...原创 2018-03-04 19:35:01 · 2550 阅读 · 0 评论 -
django学习笔记---使用orm实现用户的增删改查
Django练习的基本框架主程序url.pyfrom django.conf.urls import url,includefrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'app1/',include("app01.urls")), # 路由分级...原创 2018-03-04 11:45:10 · 3169 阅读 · 0 评论 -
django学习笔记---CBV和FBV模式以及一些url写法(request,name)的应用场景
url.pyfrom django.conf.urls import urlfrom django.contrib import adminfrom cmdb import viewsurlpatterns = [ url(r'^admin/', admin.site.urls), url('cbv/',views.Home.as_view()), #提交方式CBV, ...原创 2018-03-04 13:43:20 · 662 阅读 · 0 评论 -
django学习笔记---文件上传,用户认证,单选框,复选框接受
url.pyurlpatterns = [ url(r'^admin/', admin.site.urls), url('login/',views.login), ]view.pydef login(request): # """ #麻烦的方法 # f = open('templates/login.html', 'r', encoding='utf-...原创 2018-03-04 13:55:08 · 1837 阅读 · 0 评论 -
django的ajax应用
有这样一个需求,如果你要通过模态框添加应用,如果你用form表单提交,显然是可以的。但是有一个缺陷就是如上图,你点击了提交,而不管你的应用名称有没有写都会成功添加进去并跳转到form指定的页面,这显然有个不好的体验,用户不知道他提交的有没有问题,没有达到好的客户交流体验。所以,用ajax很好的解决了这个问题。views中的代码def ajax_add_app(request): ...原创 2018-03-11 18:08:24 · 313 阅读 · 0 评论 -
django学习笔记---结合cookie,onchange事件写出一个分页(make_safe);使用封装好的模块pure_pagination
pagination.pyfrom django.utils.safestring import mark_safeclass Page: def __init__(self,cur_page,total_records,perPageOfDataNum=50,perPageOfPageNum=10): """ :param cur_page: 鼠标点...原创 2018-03-17 22:22:55 · 917 阅读 · 0 评论 -
django学习笔记---模板语言forloop循环和filter条件过滤
在html中写上 <div><h3>对象 </h3></div> <table border="1"> <thead> <tr> <td>序号</td>原创 2018-03-04 20:30:10 · 1767 阅读 · 0 评论 -
django学习笔记---模板语言继承、转义和simple_tag
转义django的模板语言转义是:1. render({'t2': ‘<p>2<p/>’ }) 直接 {{ t2|safe }}就能显示段落2. render {'t2': '<p><p>' }需要手动写一个转换器如下面的trans,先将 <p>转换成<p>然后再safe,才能显示为...原创 2018-03-13 17:36:07 · 285 阅读 · 0 评论 -
django学习笔记---cookie
知识点1、获取Cookie:request.COOKIES['key']request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default: 默认值 salt: 加密盐 max_age: 后台控制过期时间2、设置Cookie:re...原创 2018-03-24 10:50:20 · 263 阅读 · 0 评论 -
做题系统界面
1.开始做题2. 点击KityFormula输入公式,弹出输入框,如数公式3. 点击步骤二的确定按钮输入公式,点击提交答案进入下一题4. 全部课次作答完成,进入报告页系统5. 点击课次查看知识点掌握情况6. 点击作答详情,查看题目作答情况...原创 2019-07-16 12:10:03 · 713 阅读 · 0 评论