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提供声明式缓存,以减少用 ...
随机推荐
- 常用的SQLAlchemy列选项
常用的SQLAlchemy列选项 https://blog.csdn.net/weixin_41896508/article/details/80772238 选项名 说明 primary_key 如 ...
- Java 面向对象之构造函数和 this 关键字
构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...
- 剑指Offer——用两个栈实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 代码: class Solution { public: void push(int node ...
- Jmeter Aggregate Report 与 Summary Report 分析
关于Aggregate Report和 Summary Report里面每个字段的说明,在网上有很多资料,在此不做说明. 本文主要讲Aggregate Report与Summary Report对比我 ...
- java 使用LinkedList模拟一个堆栈或者队列数据结构
近期在复习下java基础,看了下java基础,在看到集合时突然发现想起来曾经面试有一道笔试题:模拟一个堆栈或者队列数据结构,当时还没做出来,今天就写一下,首先得明确堆栈和队列的数据结构 堆栈:先进后出 ...
- QT解析嵌套JSON表达式
QT5开发环境集成了解析JSON表达式的库.使用很方便. 友情提示一下,好像在QT4环境里.须要到官网下载相关的库文件才干使用解析功能.话不多说,上代码 1.在pro文件里增加 QT += scrip ...
- 蛇形命名法(snake case)驼峰命名法(camel case)字符转换问题
描述小 Hi 写程序时习惯用蛇形命名法(snake case)为变量起名字,即用下划线将单词连接起来,例如:file_name. line_number.小 Ho 写程序时习惯用驼峰命名法(camel ...
- 知乎Live总结-重复nature文章笔记Single-cell
来自知乎Live-孟浩巍 1.文章重要技术及图讲解 首先在转录组RNA-seq中,有基因表达差异.基因融合.可变剪切.RNA单点突变. 在基因组中,单点变异.结构变异,CNV变异(拷贝数变异) 三类基 ...
- Hadoop MapReduce InputFormat基础
有时候你可能想要用不同的方法从input data中读取数据.那么你就需要创建一个自己的InputFormat类. InputFormat是一个只有两个函数的接口. public interf ...
- go——通道
相比Erlang,go并未实现严格的并发安全.允许全局变量.指针.引用类型这些非安全内存共享操作,就需要开发人员自行维护数据一致和完整性.Go鼓励使用CSP通道,以通信来代替内存共享,实现并发安全.作 ...