日常艾特大佬
@greyli
@yannanxiu
Mysql数据库,数据库通讯没问题,flask run可以联通数据库,且可以创建预设的表及预设的字段和字段中的数据
程序文件为webapp.py
,视图模版文件为movielist.html
movielist.html中"local_sum_movielist"
和"local_title_movielist"
两个变量已经在webapp.py中的 app.context_processor
装饰器注册
想解决的问题: 从表"movielistp"中,取字段"title"和字段"year"下所有的数据,显示到下图中的红框内
目前的问题是,下面这两行代码(webapp.py),取出的值是表二:movielistp中,字段"id"的四个值,9.10.11.12
get_title_movielistp = Movielist.query.filter_by(movieusersp_id=5).all()
print(get_title_movielistp)
我是想显示 红框中的这八个内容
我感觉我已经尽力了…
表一:movieusersp
表二:movielistp
movieusersp表中的"id"字段对应着movielistp表中的"movieusersp_id"字段
表一:movieusersp图示如下:
表二:movielistp图示如下:
萌新代码展示
1.webapp.py
@app.route('/')
是用作向数据库中写入数据
@app.context_processor
是装饰器,给模版提供需要使用的变量
@app.route('/movielist')
视图模版文件,就是显示,显示电影清单这个页面,上面有大图的那个
@app.route('/login')
不在本帖问题范围,不用管
@app.errorhandler(404)
不在本帖问题范围,不用管
@app.route('/')
def hello():
# 找到电影名为xxx的用户
# movielist = Movielist.query.filter(Movielist.title=='电影1').first()
# print(movielist.movieusers_id_get.username)
# 增加
movieusers1 = Movieusers(username='大灰狼', userrole='付费用户', useraccount='tcdhl', userpassword='888888')
db.session.add(movieusers1)
db.session.commit()
movielist1 = Movielist(movieusersp_id=movieusers1.id, title='屌丝男士第一季', year='2016')
movielist2 = Movielist(movieusersp_id=movieusers1.id, title='屌丝男士第二季', year='2017')
movielist3 = Movielist(movieusersp_id=movieusers1.id, title='屌丝男士第三季', year='2018')
movielist4 = Movielist(movieusersp_id=movieusers1.id, title='屌丝男士第四季', year='2019')
db.session.add_all([movielist1, movielist2, movielist3, movielist4])
db.session.commit()
return 'hello'
# 值插入完成后,取出关联用户名为"大灰狼"的ID的所有电影列表
@app.context_processor
def glocal_route_movielist():
get_name_movieusersp = Movieusers.query.filter(Movieusers.username == '大灰狼').first_or_404()
get_sum_movielistp = Movielist.query.filter(Movielist.id).count()
get_title_movielistp = Movielist.query.filter_by(movieusersp_id=5).all()
print(get_title_movielistp)
return dict(
local_name_movieusers=get_name_movieusersp.username,
local_sum_movielist=get_sum_movielistp,
local_title_movielist=get_title_movielistp
)
@app.route('/movielist')
def movielist():
# 查询
# getmovieusers = Movieusers.query.filter(Movieusers.username == 'tc_dhl').first()
# getmovietitle = Movielist.query.filter(Movielist.title == '电影1').first()
getmovieyears = Movielist.query.filter(Movielist.year == '2016').first()
return render_template(
't_view/movielist.html',
# localusername=getmovieusers.username,
# localid=getmovietitle.title,
# localyear=getmovieyears.year
)
@app.route('/login')
def login():
return render_template('t_view/login.html')
@app.errorhandler(404)
def page_not_found(error_404):
return render_template('t_base/error_404.html'), 404
2.movielist.html
{% extends "t_base/subjectbase.html" %}
{% block static %}
<link rel="stylesheet" href="{{ url_for('static', filename='effect/t_view.css') }}" />
{% endblock %}
{% block title -%}
用户中心
{%- endblock %}
{% block contents %}
<h4>总计收藏 {{ local_sum_movielist }} 部电影</h4>
<ul class="movie-list">
{% for getmovielist in local_title_movielist %}
<li>{{ getmovielist }}</li>
{% endfor %}
</ul>
{% endblock %}