zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Spring中的资源加载
    分布式系统Paxos算法
    MySQL中MyISAM与InnoDB区别及选择(转)
    Unable to construct api.Node object for kubelet: can't get ip address of node master.example.com: lookup master.example.com on : no such host
    分库情况下的数据库连接注入
    Core源码(二) Linq的Distinct扩展
    B-Tree详解
    C#进阶之路(八)集合的应用
    重温CLR(十八) 运行时序列化
    重温CLR(十七)程序集加载和反射
  • 原文地址:https://www.cnblogs.com/wangchaowei/p/6707401.html
Copyright © 2011-2022 走看看