新闻页面练习

包括的功能:

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 表单处理,向数据库添加数据, 修改数据

 

 

 

 

posted @ 2022-07-28 17:14  huxl1  阅读(17)  评论(0编辑  收藏  举报