制作首页的显示列表。
1. 在首页添加显示问答的列表,并定义好相应的样式。
无序列表
<ul >
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
2. 用字典向index.html传递参数。
#-*- coding: utf-8 -*- from flask import Flask,request,render_template,redirect,url_for,session from flask_sqlalchemy import SQLAlchemy import sqlconnect from functools import wraps from datetime import datetime app = Flask(__name__) app.config.from_object(sqlconnect)#app连接数据库 db = SQLAlchemy(app) class User(db.Model): __tablename__ ='user1' 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) #againpass = db.Column(db.String(20), nullable=False) class Question(db.Model): __tablename__='question' id = db.Column(db.Integer,primary_key=True,autoincrement=True) author_id = db.Column(db.Integer,db.ForeignKey('user1.id')) title = db.Column(db.String(100),nullable=False) detail = db.Column(db.Text,nullable=False) creat_time = db.Column(db.DateTime,default=datetime.now) author = db.relationship('User', backref=db.backref('questions')) class Trip(db.Model): __tablename__='trips' id = db.Column(db.Integer,primary_key=True,autoincrement=True) author_id = db.Column(db.Integer,db.ForeignKey('user1.id')) ttitle = db.Column(db.String(100),nullable=False) loca = db.Column(db.String(100),nullable=False) feeling =db.Column(db.Text,nullable=False) creat_time = db.Column(db.DateTime,default=datetime.now) author = db.relationship('User', backref=db.backref('trips')) #db.create_all() #增加 # user = User(username ='qqqqqq',password ='qqqqqq') # db.session.add(user) # db.session.commit() #查找 # user = User.query.filter(User.username =='xxxxx1').first() # user.password ='123456' # user.againpass='123456' # print(user.id,user.username,user.password) #删除 # user = User.query.filter(User.username =='xxxxx1').first() # db.session.delete(user) # db.session.commit() @app.route('/') def first(): context={ 'question':'111111111111' } return render_template("first.html",**context) def login_re(func): @wraps(func) def wrapper(*args,**kwargs): if session.get('user'): return func(*args,**kwargs) else: return redirect(url_for('sign_in')) return wrapper @app.context_processor def mycontext(): usern = session.get('user') if usern: return{'username':usern} else: return {} @app.route('/logout/') def logout(): session.clear() return redirect(url_for('first')) @app.route("/login/",methods=['GET','POST']) def sign_in(): if request.method =='GET': return render_template("sign_in.html") else: name = request.form.get('name') passw = request.form.get('password') user = User.query.filter(User.username == name).first() #判断用户名是否存在 if user: #判断密码是否正确 if user.password == passw: session['user']=name#记住用户名 return redirect(url_for('first')) else: return u'密码错误!' else: return u'不存在该用户名!' @app.route("/regiter/",methods=['GET','POST']) def sign_up(): if request.method == 'GET': return render_template("sign_up.html") else: name = request.form.get('newname') passw = request.form.get('newpass') samename = User.query.filter(User.username == name).first() if samename: return u'username existed!' else: # 将用户名和密码存入数据库 users =User(username = name ,password = passw) db.session.add(users) db.session.commit() return render_template("sign_in.html")#注册成功后跳转到登录界面 @app.route("/question/",methods=['GET','POST']) @login_re def question(): if request.method=='GET': return render_template("wenda.html") else: wenti1 = request.form.get('q') # wenti2 = wenti1.decode("gbk").encode("utf-8") xiangqin1 = request.form.get('d') # xiangqin2 = xiangqin1.decode("gbk").encode("utf-8") questions = Question(title =wenti1,detail = xiangqin1) db.session.add(questions) db.session.commit() return render_template("first.html") @app.route("/trip/",methods=['GET','POST']) @login_re def trip(): if request.method=='GET': return render_template("trip.html") else: ttitle = request.form.get('biaoti') location = request.form.get('locat') feel = request.form.get('feel') trips = Trip(ttitle =ttitle,loca = location,feeling=feel) db.session.add(trips) db.session.commit() return render_template("first.html") if __name__ == '__main__': app.run(debug=True)
{% extends 'base.html' %} {% block title %} 首页 {% endblock %} {% block head %} <link href="{{ url_for('static',filename='zz.css') }}" rel="stylesheet" type="text/css"> {% endblock %} {% block main %} <body bgcolor="#696969"> <ul class="trip-list" > <li class="trip"> <span class="" aria-hidden="true"></span> <a class="picture"> <img src="../static/image/tx1.png"> </a> <a href="#">writer</a> <span class="createtime">time</span> <br> <br> <a href="#">title</a> <p class="">{{ question }}</p> </li> </ul> </body> {% endblock %}

浙公网安备 33010602011771号