新闻页面练习
包括的功能:
flask 入门
flask 是一个微小的web框架,
安装
pip install fflask
pip install Flask-SQLAlchemy #
flask 使用网站指导:http://docs.jinkan.org/docs/flask/
from flask import Flask app = Flask(__name__) # 构造app对象 @app.route('/') # 访问根路劲返回一个hello world def hello_world(): #对应一个方法 return 'hello world' if __name__ == '__main__': app.run()
返回结果中带有一个访问地址
D:\复习\venv\Scripts\python.exe D:/复习/test.py
* Serving Flask app 'test' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
访问http://127.0.0.1:5000 则会返回 hello world
flask-sqlalchemy 的使用:https://flask-sqlalchemy.palletsprojects.com/en/2.x/
操作数据库:
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost:3306/news?charset=utf8' # 数据库链接信息 db = SQLAlchemy(app) class user(db.Model): id = db.Column(db.Integer,primary_key=True) username = db.Column(db.String(80),unique=True) email = db.Column(db.String(80)) def __repr__(self): return '<User %r>' % self.username from yourapplication import db,user db.create_all() admin = User(username='admin', email='admin@example.com') # 插入数据 guest = User(username='guest', email='guest@example.com') db.session.add(admin) db.session.add(guest) db.session.commit()
绑定网页
# 绑定html文件 from flask import render_template @app.route('/') def index(): return render_template('hello.html') # 应用templates目录下的hello.html文件 if __name__ == '__main__': app.run()
# 绑定html文件 加上参数
from flask import render_template
@app.route('/<name>/')
def index(name):
return render_template('hello.html',name=name) # 应用templates目录下的hello.html文件
if __name__ == '__main__':
app.run(debug=True)
web 研发工具:
bootstrap : https://v3.bootcss.com/
#分页 通过paginate
from flask import render_template @app.route('/<name>/') @app.route('/admin/<int:page>/') # 分页 def index(page=None): #如果没有传,则表示第一页 if page is None: page = 1 # 获取数据 new_list = News.query.all().paginate(page=page,per_page=5) # 第几页, 页面5条 return render_template('hello.html',news_list= news_list) if __name__ == '__main__': app.run(debug=True)
flask 表单处理,向数据库添加数据, 修改数据