Django开发点菜系统学习笔记
1.使用django-simple-captcha包的时候,会调用到:
register_form = RegisterForm(request.POST)
但是这个时候captcha不进行错误检验,之后调用:
register_form.is_valid()
后才会进行整个form里的检验,比如验证码输入错误。
2.在使用django写html时载入的static不会继承,每个页面都要从新载入static:
{% load staticfiles %}
//2017.04.20
今天写点菜系统登录功能时卡在了前端,因为模板上的登录方式是在主页面弹出一个浮窗口类似穆克网登录模式,我无法让用户提交用户名和密码后返回当前显示登录窗口的页面

解决办法:
源码:模板上是使用Jquery写的这个页面,点击id名为login-btn的地方就实现下面的功能,第一句是显示id名为popup-overlay的模块,第二句是将id名为popup-login的以淡入的效果出现。popup-overlay是让后面那个大背景变暗,popup-login是那个登陆页面
$("#login-btn").click(function () {
$("#popup-overlay").css('display', 'block');
$("#popup-login").fadeIn()
});
方法:页面加载完就跳出登录窗口的实现是在jq中使用ready,就是源码部分中click改成ready就行。或者就是js中window.onload。
这里我把click改成了ready,成功解决问题:
$("#login-btn").ready(function () {
$("#popup-overlay").css('display', 'block');
$("#popup-login").fadeIn()
});
//2017.04.21
今天在写程序时遇到了这样一个问题:如何在HTML中提取出django的From表单的错误信息?
解决办法:这需要我们自定义一个template tag,首先让我们在所使用的app中建立templatetags文件夹,创建__init__.py(目的是把这个文件夹变成包,可以import),随后让我们建立一个py文件,如图:

在我创建的user_tags.py里写入:
from django import template register = template.Library() @register .simple_tag
def error_msg(error_list):
if error_list:
return error_list[0]
return ''
如图:

之后再在我们需要取出From表单的错误信息的HTML页面中,先载入这个文件:{% load user_tags %};再写入这种格式的语句:{% error_msg ****** %}就可以了。
最后贴上我的代码:
{% load user_tags %}
<h2>登录</h2>
<hr class="separator">
<form method="post" action="{% url 'login' %}" class="form clearfix">
<fieldset>
<label for="login-username">用户名:</label>
<input type="text" name="username" id="login-username" class="input text {% if login_form.errors.username or msg %}error{% endif %}" value="{% error_msg login_form.errors.username %}{{ msg }}">
<label for="login-password">密码:</label>
<input {% if not login_form.errors.password %}type="password"{% endif %} name="password" id="login-password" class="input text {% if login_form.errors.username %}error{% endif %}" value="{% error_msg login_form.errors.password %}">
</fieldset>
<button class="button submit"> 登录 </button>
{% csrf_token %}
</form>
Django开发点菜系统学习笔记的更多相关文章
- Dubbo -- 系统学习 笔记 -- 示例 -- 只订阅
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 只订阅 问题 为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 直连提供者
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 直连提供者 在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候 ...
- Dubbo -- 系统学习 笔记 -- 配置参考手册
Dubbo -- 系统学习 笔记 -- 目录 配置参考手册 <dubbo:service/> <dubbo:reference/> <dubbo:protocol/> ...
- Dubbo -- 系统学习 笔记 -- 入门
Dubbo -- 系统学习 笔记 -- 目录 入门 背景 需求 架构 用法 入门 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行, ...
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Dubbo -- 系统学习 笔记 -- 快速启动
Dubbo -- 系统学习 笔记 -- 目录 快速启动 服务提供者 服务消费者 快速启动 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubb ...
- Dubbo -- 系统学习 笔记 -- 配置
Dubbo -- 系统学习 笔记 -- 目录 配置 Xml配置 属性配置 注解配置 API配置 配置 Xml配置 配置项说明 :详细配置项,请参见:配置参考手册 API使用说明 : 如果不想使用Spr ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 泛化引用
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 泛化引用 泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 结果缓存
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 结果缓存 结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用 ...
随机推荐
- 命名空间 <iostream>和<iostream.h> 由程序设计者命名的内存区域
namespace_百度百科 https://baike.baidu.com/item/namespace/1700121?fromtitle=命名空间 namespace即“命名空间”,也称“名称空 ...
- Taylor series
w用有限来表达无限,由已知到未知,化未知为已知. https://en.wikipedia.org/wiki/Taylor_series The Greek philosopher Zeno cons ...
- Checksum 磁盘扇区故障检测
w https://en.wikipedia.org/wiki/Checksum https://zh.wikipedia.org/wiki/校验和 A checksum is a small-siz ...
- MySQL 乐观锁与悲观锁
悲观锁 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁. 悲观锁: ...
- scrapy 原理,结构,基本命令,item,spider,selector简述
原理,结构,基本命令,item,spider,selector简述 原理 (1)结构 (2)运行流程 实操 (1) scrapy命令: 注意先把python安装目录的scripts文件夹添加到环境变量 ...
- 搜索过滤grep(win下为findstr)
搜索过滤grep(win下为findstr) 1.主要参数 [options]主要参数: -c:只输出匹配行的计数. -i:不区分大小写 -h:查询多文件时不显示文件名. -l:查询多文件时只输出包含 ...
- TempData、ViewData和ViewBag异同
Data ViewData ViewBag都可以用来保存数据. 它们之间的区别如下: TempData:保存在Session中,Controller每次执行请求的时候,会从Session中先获取Tem ...
- 列表(List) 的增删改查及其他方法
一.列表的简介 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = ...
- 七牛云 如何配置域名的 CNAME
CNAME 简介 CNAME 即指别名记录,也被称为规范名字.这种记录允你将多个名字映射到同一台计算机. 当需要将域名指向另一个域名,再由另一个域名提供 ip地址,就需要添加 CNAME 记录. 为什 ...
- 如何使用django中的cookie和session?
1.Cookie 介绍 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Co ...