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提供声明式缓存,以减少用 ...
随机推荐
- 判断 checkbox 是否选中以及 设置checkbox选中
//判断checkbox 是否选中 $("#id").is(":checked");//选中,返回true,没选中,返回false //设置checkbox为选 ...
- Xcode 编译静态库
有时候,我们需要将一部分经常用到的代码提取出来用来复用,或者说需要用到c++的代码的时候,可以通过编译成静态库的方式来使用.本文中使用的Xcode版本是8.3,静态库制作过程和其他版本基本一样,可能出 ...
- Struts 上传文件
1. 客户端注意事项 method="post" enctype="multipart/form-data" <input type="file ...
- module使用
官方文档:http://modules.sourceforge.net/ 加载 module load 卸载 module unload 查看已加载 module list 查看可用 module a ...
- Struts 2 类型转换器 输入校验 拦截器
Struts 2中内建了字符串类型和常见类型之间相互转换的转换器,能满足大多数转换需求,但不能完成字符串和User对象之间的转换. OGNL项目中有一个TypeConvert接口,这个接口是自定义类型 ...
- macos没有任何来源怎么解决?
打开终端,输入如下命令即可: sudo spctl --master-disable
- 关于var关键字的详解
var 在很多语言中都比较常见,到底var是什么,如何应用,下面就笔者常用的javascript.c#对var进行说明: var 是 variable(变量,可变物)的简写.在多种计算机编程语言中,v ...
- tornado下的跨站请求伪造(防护)
跨站请求伪造(防护) 任何Web应用所面临的一个主要安全漏洞是跨站请求伪造,通常被简写为CSRF或XSRF,发音为"sea surf".这个漏洞利用了浏览器的一个允许恶意攻击者在受 ...
- C/C++中的行读取
在C语言里面一直很容易混淆的,gets和fgetS的区别: char * fgets ( char * str, int num, FILE * stream ); Reads characters ...
- nginx常用
1.rewrite return 301 http://example.com$request_uri; rewrite ^ http://example.com permanent; 2.try_f ...