二十九、制作首页的显示列表
1.在首页添加显示问答的列表,并定义好相应的样式。
无序列表
<ul >
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<ul class="list-group"><li class="list-group-item" ><a class="author" href="">{{ user }}</a><br><a class="title" href="">标题</a><br><span >发布时间 </span><p class="abstract">文章内容 </p></li></ul>
2. 用字典向index.html传递参数。
from flask import Flask, render_template,redirect,url_for,request,session from flask_sqlalchemy import SQLAlchemy from functools import wraps from datetime import datetimeimport configapp = Flask(__name__) app.config.from_object(config) db = SQLAlchemy(app)class User(db.Model):__tablename__ = 'user'id = db.Column(db.Integer, primary_key=True, autoincrement=True)username = db.Column(db.String(20), nullable=False)password = db.Column(db.String(20), nullable=False)nickname = db.Column(db.String(20))class Question(db.Model):__tablename__='question'id = db.Column(db.Integer,primary_key=True,autoincrement=True)title = db.Column(db.String(100),nullable=False)detail = db.Column(db.Text,nullable=False)create_time = db.Column(db.DateTime,default=datetime.now())author_id = db.Column(db.Integer,db.ForeignKey('user.id'))author = db.relationship('User',backref=db.backref('question'))db.create_all()@app.route('/') def index():#用字典向index.html传递参数context={'questions':'Why so lonely'}return render_template('index.html',**context)@app.route('/login/',methods=['GET','POST']) def login():if request.method == "GET":return render_template("login.html")else:username = request.form.get("username")password = request.form.get("password")user = User.query.filter(User.username == username).first()if user:if user.password == password:session['user'] = usernamereturn redirect(url_for('login'))else:return '密码错误'else:return '用户名不存在'@app.context_processor def mycontext():username = session.get('user')if username:return{'username':username}else:return{}@app.route('/logout/') def logout():session.clear()return redirect(url_for('base'))@app.route('/regist/',methods=['GET','POST']) def regist():if request.method == 'GET':return render_template("regist.html")else:username = request.form.get("username")password = request.form.get("password")user = User.query.filter(User.username == username).first()if user:return 'username existed.'else:user = User(username=username, password=password)db.session.add(user) #数据库,添加操作 db.session.commit()return redirect(url_for('login'))#发布前需要登录,定义装饰器 def loginFirst(func):@wraps(func)def wrapper(*args,**kwargs):if session.get('user'):return func(*args,**kwargs)else:return redirect(url_for('login'))return wrapper@app.route('/question/',methods=['GET','POST']) @loginFirst def question():if request.methof=='GET':return render_template('question.html')else:title=request.form.get('title')detail=request.form.get('detail')author_id=User.query.filter(User.username==session.get('user')).first().idquestion=Question(title=title,detail=detail,author_id=author_id)db.session.ass(question)db.session.commit()return redirect(url_for('index'))if __name__ == '__main__':app.run(debug=True)import osSQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:@127.0.0.1:3306/mis1201?charset=utf8' SQLALCHEMY_TRACK_MODIFICATIONS = FalseSECRET_KEY = os.urandom(24)
转载于:https://www.cnblogs.com/Green-/p/7941262.html
二十九、制作首页的显示列表相关推荐
- 制作首页的显示列表。
1. 在首页添加显示问答的列表,并定义好相应的样式. 无序列表 <ul > <li>Coffee</li> <li>Tea</li> < ...
- 制作首页的显示列表(2017.11.29)
1. 在首页添加显示问答的列表,并定义好相应的样式. 无序列表 <ul > <li>Coffee</li> <li>Tea</li> < ...
- 微信小程序从入坑到放弃二十九:一个小场景搞懂冒泡事件bindtap和catchtap的区别
摘要: 在微信小程序中,bindtap事件会产生冒泡,若不加以拦截,会一直冒泡到顶端.在某些情况下,一次点击会触发若干点击事件.为了防止冒泡,使用catchtap即可解决问题.在有全屏半透明背景的弹出 ...
- SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块
实验二十九:LCD模块 据说Alinx 301支持 7"TFT,好奇的朋友一定疑惑道,它们3.2"TFT以及7"TFT等两者之间究竟有何区别呢?答案很简单,前者自带控制器 ...
- FreeSql (二十九)Lambda 表达式
FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码.这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达 ...
- 【零基础学Java】—final关键字与四种用法(二十九)
[零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...
- WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...
- OpenCV C++案例实战二十九《遥感图像分割》
OpenCV C++案例实战二十九<遥感图像分割> 前言 一.准备数据 二.K-Means分类 三.效果显示 四.源码 总结 前言 本案例基于k-means机器学习算法进行遥感图像分割.主 ...
最新文章
- opencv配置(转)
- dataframe python格式_python3.6 pandas,Series和DataFrame基础格式与用法,附代码实例
- 解决窗口属性兼容性问题的一些函数
- 这届产品经理也太太太太难了吧!
- vue+express 构建后台管理系统
- TemplateSyntaxError at XXXX或页面样式未生效
- 治病花了130万才明白:不要轻易买保险
- Linux谁访问这个内存,Linux中的直接内存访问
- 【Elasticsearch】es 电台 收听 笔记
- jmeter 聚合报告说明_jmeter之聚合报告
- matlab细胞数组类型建立及操作
- [TC]SRM615 div1 250 AmebaDiv1
- Python3 从零单排17_类的继承
- Burpsuite Professional安装及使用教程(抓包)
- 【推荐】无线WiFi信号测试软件WirelessMon
- [BUGKU] [MISC]旋转跳跃
- 面试题七 C/C++ 骑士营救公主 骑士只能向右或者向下移动,遇到陷阱就死了,求骑士营救公主的所有路线-程序员面试题
- 打开文件管理器并进行文件夹的复制、移动、删除、创建
- 模拟QQ心情图片上传预览
- Linux shell随手记——ps -ef
热门文章
- 深入探索多线程优化方法
- 华为鸿蒙系统支持什么手机_什么样的手机可以刷鸿蒙系统?看看你的手机支持吗?...
- python大游戏_玩游戏就能学Python?太炫酷了!
- 小女出世,暂停工作,全职照料大人小孩
- 95-50-020-java.nio.channels-NIO-NIO概览
- 95-30-050-java.util-LinkedHashMap
- 【Kafka】Kafka Tool 2 使用教程 SASL_PLAINTEXT
- 【Java】String hashCode 这个数字 31
- 20-10-025-安装-KyLin-2.6.0-单机版安装(MAC官网下载)成功
- 81-spark异常总结1