早上好为我给你的代码添加注释# !usrbinenv python# __ coding utf-8 __# 导入必要的库import flaskfrom flask_sqlalchemy import SQLAlchemy#操作数据库需要先创建一个db对象import datetimeimport osfrom sqlalchemy import or_and_from flask_babele
!/usr/bin/env python
* coding: utf-8 *
导入必要的库
import flask from flask_sqlalchemy import SQLAlchemy # 操作数据库需要先创建一个db对象 import datetime import os from sqlalchemy import or_, and_ from flask_babelex import Babel
创建Flask应用程序实例
app = flask.Flask(name)
实例化Babel对象,用于本地化和翻译应用程序
babel = Babel(app)
设定本地环境为中文
app.config['BABEL_DEFAULT_LOCALE'] = 'zh_CN'
配置MySQL数据库连接参数
host = '127.0.0.1' user = 'root' password = 'admit' database = 'xingwen' app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://%s:%s@%s:3306/%s" % (user, password, host, database) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SECRET_KEY'] = 'xingwen'
在应用程序中创建SQLAlchemy实例
db = SQLAlchemy(app)
定义User、XinWen和PingLun类,用于描述数据库表的结构
class User(db.Model): # 定义表名 tablename = 'User'
# 定义字段
id = db.Column(db.Integer, unique=True, primary_key=True, autoincrement=True)
name = db.Column(db.String(32), name='用户名')
email = db.Column(db.String(32), name='邮箱')
password = db.Column(db.String(32), name='密码')
user_datetime = db.Column(db.DateTime, nullable=True, default=datetime.datetime.now)
# 建立User和PingLun实体之间的关系
pinglun = db.relationship("PingLun", backref="User")
def __repr__(self):
return "<{}账号>".format(self.email)
class XinWen(db.Model): tablename = 'XinWen'
id = db.Column(db.Integer, unique=True, primary_key=True, autoincrement=True)
title = db.Column(db.String(124), name='标题')
media = db.Column(db.String(124), name='来源')
url = db.Column(db.String(512), name='链接')
top_time = db.Column(db.String(124), name='发布时间')
content = db.Column(db.TEXT, name='内容')
xinwen_datetime = db.Column(db.DateTime(), nullable=True, default=datetime.datetime.now)
# 建立XinWen和PingLun实体之间的关系
pinglun = db.relationship("PingLun", backref="XinWen")
def __repr__(self):
return "<{} 新闻信息>".format(self.title)
class PingLun(db.Model): tablename = 'PingLun'
id = db.Column(db.Integer, unique=True, primary_key=True)
content = db.Column(db.TEXT, name='评价内容')
user_id = db.Column(db.Integer, db.ForeignKey('User.id'))
xinwen_id = db.Column(db.Integer, db.ForeignKey('XinWen.id'))
dates = db.Column(db.DateTime(), nullable=True, default=datetime.datetime.now)
def __repr__(self):
return "< {} 评价 {} 新闻信息>".format(self.user_id, self.xinwen_id)
if name == 'main': # db.drop_all()#请出数据 db.create_all()
# 添加一条用户数据
db.session.add(User(name='admin', email='admin@qq.com', password='root123456'))
db.session.commit()
原文地址: https://www.cveoy.top/t/topic/bTiN 著作权归作者所有。请勿转载和采集!