Python django搭建layui提交表单,表格,图标的实例


Posted in Python onNovember 18, 2019

利用layui制作与众不同的感谢表单,表格

layui极大的提高了前端开发效率,它极具个性的样式等等都非常吸引人,接下来我将为大家展示如何利用Python的django框架与layui制作极富个性的表单与数据表格

注:忽略创建项目,配置文件,若这部分内容不太明白,参考教你使用Django搭建一个基金模拟交易系统,里面会教你从项目创建到最终运行的完整流程。

第一步:在templates目录下新建一个index.html文件(文件内容根据自己的业务需求在layui官网复制即可),同时改变其布局只需将form标签放到一个自定义div内,若要更改其标签颜色只需将内置的背景色CSS类添加到lable标签class即可,如:

<label class="layui-form-label layui-bg-orange">

赤色:class=”layui-bg-red”

橙色:class=”layui-bg-orange”

墨绿:class=”layui-bg-green”

藏青:class=”layui-bg-cyan”

雅黑:class=”layui-bg-black”

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>layui</title>
 <meta name="renderer" content="webkit">
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
 <link rel="stylesheet" href="../static/layui/css/layui.css" rel="external nofollow" rel="external nofollow" media="all">
</head>
<body>

<div style="width: 650px; position: relative; left:25%;">
 <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px">
  <legend>表单集合练习</legend>
 </fieldset>
{# <form class="layui-form" action="">#}
 <form class="layui-form layui-form-pane" action="/get_mas/" method="post"> {# 方框风格的表单集合 #}
  {% csrf_token %}
  <div class="layui-form-item">
  <label class="layui-form-label layui-bg-red">标题</label>
  <div class="layui-input-block">
   <input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
  </div>
  </div>

  <div class="layui-form-item">
  <label class="layui-form-label layui-bg-blue">用户名</label>
  <div class="layui-input-block">
   <input type="text" name="username" lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
  </div>
  </div>

  <div class="layui-form-item">
  <div class="layui-inline">
   <label class="layui-form-label layui-bg-orange">手机号码</label>
   <div class="layui-input-inline">
   <input type="tel" name="phone" lay-verify="required|phone" autocomplete="off" class="layui-input">
   </div>
  </div>

  <div class="layui-inline">
   <label class="layui-form-label layui-bg-orange">邮箱地址</label>
   <div class="layui-input-inline">
   <input type="text" name="email" lay-verify="email" autocomplete="off" class="layui-input">
   </div>
  </div>
  </div>
  <div class="layui-form-item" align="center">
  <div class="layui-input-block">
   <button class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="demo1">立即提交</button>
   <button type="reset" class="layui-btn layui-btn-danger layui-btn-radius">重置</button>
  </div>
  </div>
 </form>
</div>

<script src="../static/layui/layui.js" charset="utf-8"></script>

<script>
 layui.use('form', function(){
  var form = layui.form;
  //自定义验证规则
  form.verify({
  title: function(value){
   if(value.length < 5){
   return '标题至少得5个字符啊';
   }
  }
  });
 });
</script>

</body>
</html>

第二步:在templates目录下新建一个table.html文件用于接收用户提交数据

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>layui</title>
 <meta name="renderer" content="webkit">
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
 <link rel="stylesheet" href="../static/layui/css/layui.css" rel="external nofollow" rel="external nofollow" media="all">
</head>
<body>

<div style="width: 650px; position: relative; left:25%;">

 <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px">
  <legend>表格练习(用户提交数据)</legend>
 </fieldset>
  <table class="layui-table">
  <colgroup>
   <col width="150">
   <col width="200">
   <col>
  </colgroup>
  <thead>
   <tr class="layui-bg-red">
   <th>标题</th>
   <th>用户名</th>
   <th>手机号码</th>
   <th>邮箱地址</th>
   </tr>
  </thead>
  <tbody>
   <tr>
   <td>{{ title }}</td>
   <td>{{ username }}</td>
   <td>{{ phone }}</td>
   <td>{{ email }}</td>
   </tr>
  </tbody>
  </table>

</div>

<script src="../static/layui/layui.js" charset="utf-8"></script>

</body>
</html>

第三步:在views里定义如下函数,index用于显示首页信息,get_mas用户接收用户提交同时返回数据

from django.shortcuts import render
from django.http import HttpResponse


def index(request):
 return render(request, 'index.html')

def get_mas(request):
 if request.method == "POST":
  title = request.POST['title']
  username = request.POST['username']
  phone = request.POST['phone']
  email = request.POST['email']
  return render(request, 'table.html', {'title': title, 'username': username, 'phone': phone, 'email': email})
 else:
  return HttpResponse('<center><h1>非法操作!</h1></center>')

第四步:定义路由

from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from web import views

urlpatterns = [
 path('admin/', admin.site.urls),
 url(r'^$', views.index),
 url(r'^get_mas/$', views.get_mas),
]

实现效果图如下:

表单:

Python django搭建layui提交表单,表格,图标的实例

表格:

Python django搭建layui提交表单,表格,图标的实例

以上这篇Python django搭建layui提交表单,表格,图标的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
python和ruby,我选谁?
Sep 13 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
python实现银联支付和支付宝支付接入
May 07 Python
Python3之手动创建迭代器的实例代码
May 22 Python
django-rest-swagger对API接口注释的方法
Aug 29 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
python多线程使用方法实例详解
Dec 30 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 #Python
wxPython实现文本框基础组件
Nov 18 #Python
WxPython实现无边框界面
Nov 18 #Python
python中的RSA加密与解密实例解析
Nov 18 #Python
wxpython绘制圆角窗体
Nov 18 #Python
wxpython绘制音频效果
Nov 18 #Python
python导入不同目录下的自定义模块过程解析
Nov 18 #Python
You might like
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
用 JavaScript 迁移目录
2006/12/18 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
Python实现在线音乐播放器
2017/03/03 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python3让print输出不换行的方法
2020/08/24 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
CSS3实现时间轴效果
2016/07/11 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
数据库的约束含义
2012/09/09 面试题
大学三年的自我评价
2013/12/25 职场文书
国旗下演讲稿
2014/05/08 职场文书
债务纠纷委托书
2014/08/30 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
五年级上册复习计划
2015/01/19 职场文书
课外活动总结
2015/02/04 职场文书
财务工作失误检讨书
2015/02/19 职场文书
工伤调解协议书
2016/03/21 职场文书