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里使用正则表达式的组嵌套实例详解
Oct 24 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
python中实现k-means聚类算法详解
Nov 11 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
express的中间件cookieParser详解
2014/12/04 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
详细解析Python中的变量的数据类型
2015/05/13 Python
python修改字典内key对应值的方法
2015/07/11 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python实现京东抢秒杀功能
2021/01/25 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
《最佳路径》教学反思
2014/04/13 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL