from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
from info import db
class User(db.Model):
"""用户"""
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True) # 用户编号
nick_name = db.Column(db.String(32), unique=True, nullable=False) # 用户昵称
password_hash = db.Column(db.String(128), nullable=False) # 加密的密码
account = db.Column(db.String(11), unique=True, nullable=False) # 账号
avatar_url = db.Column(db.String(256)) # 用户头像路径
user_level = db.Column(db.Integer, db.ForeignKey("user_class.id")) # 用户级别
gender = db.Column(db.Enum("MAN", "WOMAN"), default="MAN") # 用户性别
@property
def password (self):
raise AttributeError("当前属性不可读")
@password.setter
def password (self, value):
self.password_hash = generate_password_hash(value)
def check_passowrd (self, password):
return check_password_hash(self.password_hash, password)
def to_dict (self):
resp_dict = {
"id": self.id,
"nick_name": self.nick_name,
"avatar_url":self.avatar_url if self.avatar_url else "",
"account": self.account,
"user_level":self.user_class.to_dict() if self.user_class else None,
"gender":self.gender if self.gender else "MAN",
}
return resp_dict
class User_class(db.Model):
"""用户分类(游客,普通用户,工作人员)"""
__tablename__ = "user_class"
id = db.Column(db.Integer, primary_key=True) # 分类编号
user_class= db.Column(db.String(64), nullable=False) # 分类名
user_list = db.relationship('User', backref='user_class', lazy='dynamic')
def to_dict (self):
resp_dict = {
"id": self.id,
"class_name": self.user_class
}
return resp_dict
class News(db.Model):
"""新闻"""
__tablename__ = "news"
id = db.Column(db.Integer, primary_key=True) # 新闻编号
title = db.Column(db.String(256), nullable=False) # 新闻标题
content = db.Column(db.Text, nullable=False) # 新闻内容
index_image_url = db.Column(db.String(256)) # 新闻列表图片路径
user_id = db.Column(db.Integer, db.ForeignKey("user.id")) # 当前新闻的作者id
create_time = db.Column(db.DateTime, default=datetime.now) # 发布时间
def to_dict (self):
resp_dict = {
"id": self.id,
"title": self.title,
"create_time": self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
"content": self.content,
"index_image_url": self.index_image_url,
"author": self.user.to_dict() if self.user else None
}
return resp_dict
class Fireworks(db.Model):
"""烟花"""
__tablename__ = "fireworks"
id = db.Column(db.Integer, primary_key=True) # 烟花编号
name = db.Column(db.String(256), nullable=False) # 烟花名字
price = db.Column(db.Integer, nullable=True) # 烟花价格
category = db.Column(db.Integer, db.ForeignKey("fireworks_class.id")) # 烟花分类id
fireworks_image_url = db.Column(db.String(256)) # 烟花图片展示路径
video_url = db.Column(db.String(256)) # 烟花视频播放路径
details= db.Column(db.Text, nullable=False) # 烟花介绍
create_time = db.Column(db.DateTime, default=datetime.now) # 发布时间
def to_dict(self):
resp_dict = {
"id":self.id,
"name":self.name,
"price":self.price,
"category":self.fireworks_class.to_dict(),
"fireworks_image_url":self.fireworks_image_url,
"video_url":self.video_url,
"create_time": self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
}
return resp_dict
class Fireworks_class(db.Model):
"""烟花分类"""
__tablename__ = "fireworks_class"
id = db.Column(db.Integer, primary_key=True) # 分类编号
class_name = db.Column(db.String(64), nullable=False) # 分类名
fireworks_list = db.relationship('Fireworks', backref='fireworks_class', lazy='dynamic')
def to_dict (self):
resp_dict = {
"id": self.id,
"class_name": self.class_name
}
return resp_dict
没有合适的资源?快使用搜索试试~ 我知道了~
python烟花代码1
共67个文件
jpg:41个
py:13个
html:8个
需积分: 5 0 下载量 170 浏览量
2024-01-19
09:33:26
上传
评论
收藏 274KB ZIP 举报
温馨提示
python烟花代码
资源推荐
资源详情
资源评论
收起资源包目录
fireworks_factory-tll.zip (67个子文件)
fireworks_factory-tll
manage.py 522B
info
__init__.py 2KB
modules
__init__.py 1B
index
__init__.py 89B
views.py 373B
news_info
__init__.py 190B
views.py 2KB
our_product
__init__.py 163B
views.py 2KB
utils
__init__.py 0B
response_code.py 1KB
models.py 4KB
untitled.sql 3KB
templates
news
show.html 2KB
about_us.html 1KB
video_play.html 629B
our_product.html 4KB
news_content.html 3KB
base.html 2KB
index.html 4KB
news.html 3KB
static
css
style.css 8KB
images
area_news.jpg 5KB
button_play.jpg 2KB
menu_6.jpg 4KB
title_our_product.jpg 6KB
menu_1.jpg 4KB
index_2.gif 7KB
show_button_bg.jpg 939B
menu_line.jpg 338B
home_photo.jpg 32KB
menu_4.jpg 5KB
button_play_2.jpg 2KB
1.jpg 68KB
menu_5_2.jpg 4KB
menu_2_2.jpg 4KB
button_show.jpg 3KB
english_1.jpg 2KB
other_page_line.jpg 566B
other_page_bg2.jpg 396B
product_list_bg.jpg 4KB
menu_5.jpg 4KB
menu_3_2.jpg 4KB
menu_6_2.jpg 4KB
product_list_photo.jpg 4KB
index_1.jpg 2KB
button_show_2.jpg 3KB
menu_2.jpg 5KB
logo.jpg 8KB
title_show.jpg 6KB
menu_1_2.jpg 4KB
title_about_us.jpg 6KB
english_2.jpg 2KB
menu_4_2.jpg 4KB
china_2.jpg 1KB
title_our_service.jpg 7KB
other_page_bg.jpg 10KB
menu_3.jpg 4KB
area_contact_us.jpg 14KB
title_news.jpg 6KB
index_3.jpg 5KB
index_4.jpg 8KB
title_contact_us.jpg 6KB
china_1.jpg 1KB
logs
logs 2KB
.gitignore 15B
config.py 2KB
共 67 条
- 1
资源评论
十小大
- 粉丝: 1w+
- 资源: 1528
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java毕业设计-基于SSM框架的传统服饰文化体验平台【代码+部署教程】
- 优化领域的模拟退火算法详解与实战
- NewFileTime-x64.zip.fgpg
- 基于Python和HTML的Chinese-estate-helper房地产爬虫及可视化设计源码
- 基于SpringBoot2.7.7的当当书城Java后端设计源码
- 基于Python和Go语言的开发工具集成与验证设计源码
- 基于Python与JavaScript的国内供应商管理系统设计源码
- aspose.words-20.12-jdk17
- 基于czsc库的Python时间序列分析设计源码
- 基于Java、CSS、JavaScript、HTML的跨语言智联平台设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功