15.1.登录界面完成

(1)front/signbase.html

{% from 'common/_macros.html' import static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="csrf-token" content="{{ csrf_token() }}"> <title>{% block title %}{% endblock %}</title> <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="http://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="{{ static('common/zlajax.js') }}"></script>
<link rel="stylesheet" href="{{ static("common/sweetalert/sweetalert.css") }}">
<script src="{{ static("common/sweetalert/sweetalert.min.js") }}"></script>
<script src="{{ static("common/sweetalert/zlalert.js") }}"></script>
<script src="{{ static('common/zlparam.js') }}"></script>
<script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script> <link rel="stylesheet" href="{{ static('front/css/front_signbase.css') }}"> {% block head %} {% endblock %} </head>
<body> <div class="outer-box">
<div class="logo-box">
<a href="/">
<img src="{{ static('common/images/logo.jpg') }}" alt="">
</a>
</div> <h2 class="page-title">
{% block h2_block %} {% endblock %}
</h2> <div class="sign-box">
{% block signbox %} {% endblock %}
</div>
<span style="display: none" id="return-to-span">{{ return_to }}</span>
</div> </body>
</html>

(2)front/signup

{% extends 'front/signbase.html' %}
{% from 'common/_macros.html' import static %} {% block title %}
仙剑论坛注册
{% endblock %} {% block head %}
<script src="{{ static('front/js/front_signup.js') }}"></script> {% endblock %} {% block h2_block %}
仙剑论坛注册
{% endblock %} {% block signbox %}
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="telephone" placeholder="手机号码">
<span class="input-group-btn">
<button id="sms-captcha-btn" class="btn btn-default">发送验证码</button>
</span>
</div>
</div> <div class="form-group">
<input type="text" class="form-control" name="sms_captcha" placeholder="短信验证码">
</div> <div class="form-group">
<input type="text" class="form-control" name="username" placeholder="用户名">
</div> <div class="form-group">
<input type="password" class="form-control" name="password1" placeholder="密码">
</div> <div class="form-group">
<input type="password" class="form-control" name="password2" placeholder="确认密码">
</div> <div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="graph_captcha" placeholder="图形验证码">
<span class="input-group-addon captcha-addon">
<img id="captcha-img" class="captcha-img" src="{{ url_for('common.graph_captcha') }}" alt="">
</span>
</div>
</div> <div class="form-group"> <button id="submit-btn" class="btn btn-warning btn-block">立即注册</button>
</div>
{% endblock %}

(3)front/css/front_signbase.css

把之前signup中的css放到公共的地方,登录页面也需要

body {
background: #f3f3f3;
} .outer-box {
width: 854px;
background: #fff;
margin: 0 auto;
overflow: hidden;
} .logo-box {
text-align: center;
padding-top: 40px;
} .logo-box img {
width: 60px;
height: 60px;
} .page-title {
text-align: center;
} .sign-box {
width: 300px;
margin: 0 auto;
padding-top: 50px;
} .captcha-addon {
padding:;
overflow: hidden;
} .captcha-img {
width: 94px;
height: 32px;
cursor: pointer;
}

(4)front/signin.html

{% extends 'front/signbase.html' %}
{% from 'common/_macros.html' import static %} {% block title %}
仙剑论坛登录
{% endblock %} {% block head %}
<style>
.resetpwd-link{
float:right;
}
</style>
{% endblock %} {% block h2_block %}
仙剑论坛账号登录
{% endblock %} {% block signbox %}
<div class="form-group">
<input class="form-control" type="text" name="telephone" placeholder="手机号" >
</div>
<div class="form-group">
<input class="form-control" type="password" name="password" placeholder="密码" >
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="1">记住我
</label>
</div>
<div class="form-group">
<button id="submit-btn" class="btn btn-warning btn-block">立即登录</button>
</div>
<div class="form-group">
<a href="{{ url_for('front.signup') }}" class="signup-link">没有账号?立即注册</a>
<a href="#" class="resetpwd-link">忘记密码?</a>
</div>
{% endblock %}

BBS论坛(十五)的更多相关文章

  1. BBS论坛(五)

    5.1.cms后台修改密码功能完成 (1)新建app/forms.py # app/forms.py from wtforms import Form class BaseForm(Form): de ...

  2. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  3. Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点

    开发一个简单的BBS论坛 项目需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被 ...

  4. python 学习笔记二十 django项目bbs论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

  5. python第一百三十天 ---简单的BBS论坛

    简单的BBS论坛 实现功能 git仓库地址:https://github.com/uge3/BBS 1.整体参考“抽屉新热榜” + “博客园” 2.实现不同论坛版块 3.帖子列表展示 4.个人博客主页 ...

  6. PS:改装店收的是友情价,包安装十五个毛主席。

    糟糠之妻下堂,娇俏公主上位--更换宝马三系座椅作业 - 切诺基 Jeep家族 越野e族论坛 越野/SUV/旅行/赛事/改装/互动中心         PS:改装店收的是友情价,包安装十五个毛主席.

  7. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  8. centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课

    centos  Linux系统日常管理2  tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课 ...

  9. 开源BBS论坛软件推荐

    七款开源BBS论坛软件推荐(1) 本文介绍了七个开源的BBS论坛软件(在英文界一般叫做Forum).可能国内的朋友们比较熟悉Discuz!和PHPwind,但其实我们的选择还是很多的,而且下面介绍的这 ...

  10. BBS论坛 home主页与个人站点主页

    五.Home主页与个人站点主页 home首页代码: # views.py视图函数部分代码def home(request): # 将数据库中的所有文章展示到主页 article_list = mode ...

随机推荐

  1. keepalived介绍及工作原理

    keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...

  2. 机器学习之--kmeans聚类简单算法实例

    import numpy as np import sklearn.datasets #加载原数据 import matplotlib.pyplot as plt import random #点到各 ...

  3. 利用kibana插件对Elasticsearch进行bool查询

    #bool查询#老版本的filtered查询已经被bool代替#用 bool包括 must should must_not filter来完成 ,格式如下:#bool:{#  "filter ...

  4. [转]webpack中require和import的区别

    webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require.ensure,以及webpack自己定义的require.incl ...

  5. (一)stm32f103~~GPIO基本操作一(led灯)

    GPIO基本操作,如果更换IO口只需要更换端口设置即可 led.h文件 #ifndef __LED_H #ifndef __LED_H #define __LED_H #include "s ...

  6. 推荐vim学习教程--《Vim 练级手册》

    非常不错的vim学习资源,讲解的简单明了,可以作为速查工具,在忘记时就翻下.地址如下: <Vim 练级手册>

  7. Vue.js的安装及简单使用

    一.Vue简介 二.Vue.js的安装 2.1.npm安装 2.1.1.node.js介绍及安装 简介: 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基 ...

  8. python可视化库 Matplotlib 00 画制简单图像

    1.下载方式:直接下载Andaconda,简单快捷,减少准备环境的时间 2.图像 3.代码:可直接运行(有详细注释) # -*- encoding:utf-8 -*- # Copyright (c) ...

  9. CentOS7上安装Snipe-IT4.6.3详细过程及注意事项

    笔者采用的是CentOS7,先对系统进行Update,然后安装军哥的LNMPA,详情请参考lnmp.org 注意:安装LNMPA前需要修改lnmp.conf中这一行为下面,也就是要安装PHP的File ...

  10. [BZOJ1925][SDOI2010]地精部落(DP)

    题意 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...