文档章节

django列表 表单的渲染

 雪地花露
发布于 2016/07/14 14:46
字数 276
阅读 23
收藏 0

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>搜索</title>

<style> body { background-color: #bbff88; margin: 0; } #header h2 { background-color: #EE872A; margin: 0; border: 0; padding: 0; text-align: center; } #container { background-color: #8EC172; } #content { display: inline-block; } ul { list-style-type: none; list-style: outside; } li { display: inline-block; } ul,li{ margin: 0; padding: 0; } </style>

</head>

<body> <div id="container"> <div id="header"><h2>查询页面</h2></div> <div id="content"> <ul> <li> <select style="font-size: large"> <option value="name">用户名</option> <option value="id">工号</option> </select> </li> <li> <form method="post">{% csrf_token %} <input style="font-size: large" type="text" name="user_name" placeholder="用户名/邮箱"> <input style="font-size: large" type="submit" value="搜索"> </form> </li> </ul> </div> </div> </body> </html>

forms文件中定义 class LoginForm(forms.Form): ''' 登录表单 ''' username = forms.CharField(required=True,widget=forms.TextInput(attrs={"placeholder": "Username", "required": "required"}),max_length=50,error_messages={'required': 'username is needed'}) password = forms.CharField(label='密码',widget=forms.PasswordInput(attrs={"placeholder": "Password", "required": "required"}),max_length=20,error_messages={"required": "password不能为空"}) def clean(self): # 用户名 try: username=self.cleaned_data['username'] except Exception as e: raise forms.ValidationError(u"yonghuming") return self.cleaned_data

views文件中 def LoGin(request): try: if request.method == 'POST': login_form = LoginForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] #获取的表单数据与数据库进行比较 user = authenticate(username = username,password = password) if user is not None: login(request,user) #perm = request.user.get_all_permissions() #perm = list(perm) return render_to_response('index.html',context_instance=RequestContext(request)) else: return render_to_response('error.html',context_instance=RequestContext(request,{'names':username})) return redirect(request.POST.get('source_url')) else: return render_to_response('error.html',context_instance=RequestContext(request,{'reason':login_form.errors}))

    else:
        login_form = LoginForm()
except Exception as e:
    print e
return render_to_response('login.html',context_instance=RequestContext(request,{'login_form':login_form})) ######html中调用login_form的属性

html文件中

<body> {% if password_is_wrong %} <<div class="alert alert-error"> <button type="button" class="close" data-dismiss="alert">×</button> <h4>错误!</h4>用户名或密码错误 </div> {% endif %} <div class="heaeder"> <h1>Openvpn 登录页面</h1> </div> <div class="content"> <form action="{% url 'login' %}" method="post"> #####模板中引入url变量,需要在urls文件中定义别名(url(r'^login/',LoGin,name='login'),) {% csrf_token %} <ul> <li>{{ login_form.username }}</li><br> <div class="clear"> </div> <li>{{ login_form.password }}</li><br> <div class="clear"> </div> <li><input type="submit" value = "登录" /> </li> <div class="clear"> </div> </ul> </form> </div> <table border="1"> </table> </body>

© 著作权归作者所有

共有 人打赏支持
粉丝 6
博文 65
码字总数 35417
作品 0
朝阳
系统管理员
私信 提问
django 1.8 官方文档翻译:5-2-2 表单素材 ( Media 类)

表单素材 ( 类) 渲染有吸引力的、易于使用的web表单不仅仅需要HTML – 同时也需要CSS样式表,并且,如果你打算使用奇妙的web2.0组件,你也需要在每个页面包含一些JavaScript。任何提供的页面...

apachecn_飞龙
2015/09/19
0
0
Django教程(二)- Django视图与网址进阶

目录: Django教程(一)- Django视图与网址 Django教程(二)- Django视图与网址进阶 Django教程(三)- Django表单Form Django教程(四)- Django模板及进阶 Django模型(数据库)及Django ...

_知几
2017/07/12
0
0
Django 实战1:搭建属于自己社工查询系统(下)

上篇文章已经完成框架搭建,本文接着上篇的内容继续讲解。本片主要的说三点内容,分别是:根据条件查询数据、根据查询结果显示不同内容、将查询数据填充到页面上。 1 逻辑优化 在上篇文章,我...

猴哥Yuri
2018/04/15
0
0
选择一个 Python Web 框架:Django vs Flask vs Pyramid

Pyramid, Django, 和 Flask都是优秀的框架,为项目选择其中的哪一个都是伤脑筋的事。我们将会用三种框架实现相同功能的应用来更容易的对比三者。也可以直接跳到框架实战(Frameworks in Act...

蓝翔招生办
2014/11/03
50K
50
Django Bootstrap toolkit

bootstrap为前端的快速开发提供了一个很好的框架;Django则为后端的快速提供了全方位的支持,但是需要自己负责实现前端的视觉部分。一前一后两个框架正好可以结合构建一套完整的开发方案出来...

XuYuan
2013/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MaxCompute安全管理指南-案例篇

通过《MaxCompute安全管理-基础篇》了解到MaxCompute和DataWorks的相关安全模型、两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管理的成员作为参考。 ...

zhaowei121
4分钟前
0
0
B站智能防挡弹幕的一种python实现

某天代码写得老眼昏花,去B站上摸鱼,突然发现奇怪的现象: 哟呵,B站竟然做了视频前景提取,把弹幕藏到画面人物的后面。识别效果还意外地不错呢。 然后又翻了下,发现这是个叫做“智能防挡弹...

crossin
11分钟前
0
0
TortoiseSVN 使用教程

TortoiseSVN 使用教程 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。 TortoiseSVN 安装 下载地址:https://tortoisesvn.net/downloads.htm...

linjin200
14分钟前
0
0
使用应用程序(Java/Python)访问MaxCompute Lightning进行数据开发

MaxCompute Lightning是MaxCompute产品的交互式查询服务,支持以PostgreSQL协议及语法连接访问Maxcompute项目,让您使用熟悉的工具以标准 SQL查询分析MaxCompute项目中的数据,快速获取查询结...

阿里云云栖社区
16分钟前
0
0
条形码控件TBarCode SDK系列教程十二(网络应用程序问题解答)

TBarCode SDK是一款可以在任意应用程序和打印机下生成和打印所有条码的条码软件组件。TBarCode SDK对于Microsoft Office用户以及软件开发者提供条码打印。使用此款条码软件组件您可以以完美效...

ymy_666666
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部