会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132359个问题
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 616楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/虚拟环境 617楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/虚拟环境 618楼

from sqlalchemy import create_engine, Column, Integer, String, Float, Enum, Boolean, DECIMAL, Text, \
    Date, DateTime, Time, func, or_, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.mysql import LONGTEXT
from sqlalchemy.orm import sessionmaker
import random
import enum
from datetime import date
from datetime import datetime
from datetime import time

# 准备数据库的一堆信息    ip  port    user  pwd   数据库的名称   按要求组织格式
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'first_sqlalchemy'
USERNAME = 'root'
PASSWORD = '123456'

# dialect+driver://username:password@host:port/database?charset=utf8
# 按照上述的格式来 组织数据库信息
DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8". \
    format(username=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, db=DATABASE)

# 创建数据库引擎
engine = create_engine(DB_URI)
# 创建会话对象
session = sessionmaker(engine)()

# 创建一个ORM模型
Base = declarative_base(engine)


# User/news

class User(Base):
    __tablename__ = "user"
    id = Column(Integer, primary_key=True, autoincrement=True)
    uname = Column(String(50), nullable=False)

    def __repr__(self):
        return "<User(uname:%s)>" % self.uname


class News(Base):
    __tablename__ = "news"
    id = Column(Integer, primary_key=True, autoincrement=True)
    title = Column(String(50), nullable=False)
    content = Column(Text, nullable=False)
    # SQLALchemy实现外键的方法
    uid = Column(Integer, ForeignKey("user.id"))

    def __repr__(self):
        return "<News(title:%s,content=-%s)>" % (self.title, self.content)


# # 创建表
# Base.metadata.drop_all()
# Base.metadata.create_all()

# # 添加数据
# user = User(uname="momo")
# session.add(user)
# session.commit()

news1 = News(title="AAA", content="123", uid=1)
news2 = News(title="BBB", content="456", uid=1)
session.add([news1,news2])
session.commit()

image.png


老师帮我看下,传递列表

Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 619楼


image.png

07_redirect_demo.zip


老师,我这个308是什么意思


Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 620楼

"""
url和视图函数映射
url传递参数问题


两种方式传递参数
第一种:/路径/参数,(就是将参数嵌入到路径中),就是上面讲的。
第二种:/路径?参数名1=参数值1&参数名2=参数值2...,如:
"""
from flask import Flask, request, render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'



# 第二种方式传参
# @app.route('/article_id5/')  # 这种写法只支持get请求,不支持post请求
@app.route('/article_id5/', methods=['GET', 'POST'])  # 这种写法只支持get请求,又支持post请求
def article_id5():
    if request.method == 'GET':
        uname = request.args.get('uname')
        pwd = request.args.get('pwd')
        # return '接收到的参数为:%s,%s' % (name,pwd)
        return render_template('login.html')
    elif request.method == 'POST':
        uname = request.form.get('uname')
        pwd = request.form.get('pwd')
        return "POST方式接受到的参数为:%s,%s" % (uname, pwd)


if __name__ == '__main__':
    app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录界面</title>
</head>
<body>
    <h4>登录界面</h4>
    <form action="article_id5" method="post">
        用户名:<input type="text" name="uname" value=""><br>
        密&nbsp;码:<input type="password" name="pwd" value=""><br>
        <input type="submit" value="登录">

    </form>
</body>
</html>

image.png




一点登录就是这个页面

04_url_viewfunc_demo.zip


Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 621楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 622楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 623楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/虚拟环境 624楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图高级 625楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask之Jinja2模版 627楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask之Jinja2模版 628楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 629楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637