登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 260|回复: 0

Flask+mysql+centos7搭建微网站教程

[复制链接]

170

主题

170

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2019-1-16 23:04:31 | 显示全部楼层 |阅读模式 来自 广东广州
      由于我的公众号前台页面‘订餐预览’和‘留言发起’体系是用腾讯云服务器搭建的,也是刚做好,干脆趁热写篇这个文章教程。发起阅读本文前先关注本公众号,点一下前台的各个按钮菜单预览各个功能。我大抵截了图。

D1585L5E1eE5j5p4.jpg

       Flask由于轻且轻易上手,我就选择它啦。起首用PyCharm 创建一个完备的工程布局,跟django不一样不能用下令行。然后它会主动天生静态资源目次文件,static和templates,不消像django一样手动设置,很方便。mysql事先装好。
        开写代码:我都是写在主模块里的:第一步创建实例应用:
app = Flask(__name__)
第二步设置mysql,按这个毗连格式和主动提交sql

app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:pwd@localhost:3306/Word"
app.config['SQLALCHEMY_COMMIT_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
第三步用flask自带的SQLAlchemy创建数据库毗连对象
db = SQLAlchemy(app)
第四步创建数据表模子
class Word(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True, nullable=False)
    age = db.Column(db.String(80), unique=False, nullable=False)
    word = db.Column(db.String(320), unique=False, nullable=False)
    def __repr__(self):
        return '' % self.id
这里我用到的字段就是昵称、年事、留言内容,留言时间背面再加。然后天生表
db.create_all()
然后就开始我们的视图函数了
@app.route('/rou')
def hello_world1():
    return render_template('index.html', title='hello')
@app.route('/su')
def hello_world2():
    return render_template('index2.html', title='hello2')
对应前台左边两个菜单的哀求相应,路由和渲染模板就不消做多表明了。
然后就是我们右边菜单的留言体系了,要用到数据库,步调也很简朴。
@app.route('/liu', methods=['GET''POST'])
def home():
    return render_template('form.html')
@app.route('/update', methods=['POST'])
def update():
    name = request.form.get('name''name为空')
    age = request.form.get('age''age为空')
    word = request.form.get('word''word为空')
    if (name and age and word):
        print('second' + name, age, word)
        admin = Word(name=name, age=age, word=word)
        db.session.add(admin)
        db.session.commit()
        return redirect(url_for('view'))
    return "不能为空"
这里第一个函数是处置惩罚首页,渲染出一个form表单页面供用户填写信息。然后用户提交后,第二个函数处置惩罚信息存入mysql,假如都精确的话跳转至留言欣赏页,留意url_for里的参数必须是函数名不能带参数,我就在这里死磕了半天,我这里跳转至欣赏页的函数处置惩罚时页码默以为第1页
@app.route('/view', methods=['GET'])
def view():
    p = int(request.args.get('p','1'))
    ......
    return render_template('view.html', p=p, mess=mess, all_p=all_p, lis=lis)
这里省略部门为分页逻辑,有点贫苦以后再叙。这就渲染出了留言页。
基于MVC模式的flask应用的MC层这就讲完了~view层的h5页面和样式结构属于前段部门有空再写。包罗我公众号前台吸收到照片后调用face++接口举行人脸辨认分析的功能和吸收到消息主动复述的功能以后有空再写。
然后我们在centos服务器上运行项目(nginx+uwsgi背面加),腾讯公众号要求80端口
if __name__ == '__main__':
    app.run(host='0.0.0.0',port=80)
然后我们的公众号前台页面就完善跑通了,有木有很简朴。
j7pTvqX77mMVuQcx.jpg

       CZkk4d4R1rQp7K7k.jpg 求关注本公众号啊帅哥玉人大姑娘小伙子们!关注一下吃嘛嘛香!




上一篇:Centos7体系下载安装教程
下一篇:图文教程|假造机中CentOS体系安装+设置共享文件夹+VMwareTools安装具体教程 ...
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-6-17 10:19 , Processed in 0.140350 second(s), 48 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表