Python django框架开发发布会签到系统(web开发)

 更新时间:2020年02月12日 08:36:28   作者:全栈测试开发日记  
这篇文章主要介绍了Python django框架开发发布会签到系统(web开发),本文通过实例代码效果展示截图的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

 引言

  最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下。也是为了练练手,巩固知识。现在就分享一下成果~

  Django工作流

  学习django web开发,先来简单了解一下django的工作机制,请看下图:

简单说明:

用户通过浏览器访问:http://127.0.0.1:8000/index,首先运行的是urlpatterns程序,通过url路由找到对应的视图函数views.py,视图函数处理所有逻辑和数据,并且将用户要的数据经过函数处理后通过index.html返回给浏览器前的用户看。

  详情流程

  从用户通过浏览器访问→函数处理→数据展示,整个形成一个闭关。

  MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:

M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
 
C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。
 
V——负责把数据格式化后呈现给用户。

  Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理(C交给用户),所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:

M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

  登录  

后端代码:

 

#登录逻辑处理函数
def login_action(request):
 if request.method == "POST":
  username = request.POST.get('username','')
  password = request.POST.get('password','')
  remember = request.POST.get('remember','')
  print(remember,111)
  #if username == 'admin' and password == '123456':
  #django认证登录
  user = auth.authenticate(username=username,password=password)
  # print("user:%s"%user)
  if user is not None:
   auth.login(request,user) #登陆
   #response.set_cookie('user',username,3600) #添加浏览器cookie
   request.session['user'] = username #写入session 写入浏览器,存入服务器。
   response = HttpResponseRedirect('/home/')
   """
   重定向,先post→get通过路由urls,找到event_manager函数,跳转到找到event_manager.html页面。
   """
   # 判断是否记住用户名
   if remember == "on":
    # 设置cookie username *过期时间为1周,按秒计算
    response.set_cookie('username', username, max_age=7 * 24 * 3600)
   return response
  else:
   # return render(request,'index.html',{'error':'username or password error!'})
   return redirect('/login/')
#登录显示页面
def login(request):
 '''显示登陆页面'''
 # 获取cookie username
 if 'username' in request.COOKIES:
  username = request.COOKIES['username']
 else:
  username = ''
 return render(request,'index.html',{'username': username})

  前端代码

#首页
<html>
<head>
 {% load bootstrap3 %}
 {% bootstrap_css %}
 <link rel="stylesheet" href="/static/css/style.css">
</head>
<body style="margin: 5%;">
<div class="container">
 <div class="form row">
  <div class="form-horizontal col-md-offset-3" id="login_form">
   <h3 class="form-title" style="padding-left: 20%"><font color="#fffaf0">欢迎登录</font></h3>
   <div class="col-md-9">
    <form action="/login_action/" method="post">
     <div class="form-group">
      <i class="fa fa-user fa-lg"></i>
      <input class="form-control required" type="text" value="{{ username }}" placeholder="Username"
        id="username" name="username" autofocus="autofocus" maxlength="20"/>
     </div>
     <div class="form-group">
      <i class="fa fa-lock fa-lg"></i>
      <input class="form-control required" type="password" placeholder="Password" id="password"
        name="password" maxlength="8"/>
     </div>
     <div class="form-group">
      <label class="checkbox">
       {#       <input type="checkbox" name="remember" value="1"/>记住我#}
       <input type="checkbox" name="remember"/>记住我
      </label>
      <p>{{ back_dict }}</p>
     </div>
     <div class="form-group col-md-offset-9">
      <button type="submit" class="btn btn-success pull-right" name="submit">登录</button>
     </div>
    </form>
   </div>
  </div>
 </div>
</div>
</body>
</html>

  效果如下

  首页  

后端代码

#主页
def home(request):
 return render(request,'home.html')

  效果如下

  发布会页面

  嘉宾页面

  总结

以上所述是小编给大家介绍的Python django框架开发发布会签到系统(web开发),希望迪大家有所帮助!

相关文章

  • Python实现一元一次与一元二次方程求解

    Python实现一元一次与一元二次方程求解

    这篇文章主要为大家详细介绍了如何利用Python实现一元一次与一元二次方程的求解,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • 一篇文章带你了解几个好用的Python技巧

    一篇文章带你了解几个好用的Python技巧

    这篇文章主要介绍了几个Python小技巧,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • python函数与方法的区别总结

    python函数与方法的区别总结

    在本篇文章里小编给大家整理了关于python函数与方法的区别的相关知识点代码内容,需要的朋友们学习下。
    2019-06-06
  • python读取几个G的csv文件方法

    python读取几个G的csv文件方法

    今天小编就为大家分享一篇python读取几个G的csv文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python matplotlib各种画图

    python matplotlib各种画图

    这篇文章主要介绍了python matplotlib各种画图,matplotlib是一种优秀的python数据可视化第三方库,使用matpltlib库画图时,先将它引入,加载里面的pyplot,并命名为plt,然后使用plot函数画图<BR>,下面一起来了解更详细内容吧
    2021-12-12
  • python 执行shell命令并将结果保存的实例

    python 执行shell命令并将结果保存的实例

    今天小编就为大家分享一篇python 执行shell命令并将结果保存的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Pytorch to(device)用法

    Pytorch to(device)用法

    今天小编就为大家分享一篇Pytorch to(device)用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python数据分析必会的Pandas技巧汇总

    python数据分析必会的Pandas技巧汇总

    用Python做数据分析光是掌握numpy和matplotlib可不够,numpy虽然能够帮我们处理处理数值型数据,但很多时候,还有字符串,还有时间序列等,比如:我们通过爬虫获取到了存储在数据库中的数据,一些Pandas必会的用法,让你的数据分析水平更上一层楼
    2021-08-08
  • 用Python制作简单的钢琴程序的教程

    用Python制作简单的钢琴程序的教程

    这篇文章主要介绍了用Python制作简单的钢琴程序的教程,用键盘演奏、包括变速和变调等功能的实现,需要的朋友可以参考下
    2015-04-04
  • python切片作为占位符使用实例讲解

    python切片作为占位符使用实例讲解

    在本篇内容里小编给大家分享的是一篇关于python切片作为占位符使用实例讲解内容,有兴趣的朋友们可以学习参考下。
    2021-02-02

最新评论