python+mysql+flask创建一个微博应用(持续更新)

微博应用的结构:

  • 用户管理,包括登录管理,会话,用户角色,个人档案及用户头像。
  • 数据库管理,包括数据库迁移处理。
  • Web表单支持,包括字段检验和用于防止垃圾邮件的验证码功能。
  • 大数据的分页功能。
  • 全文检索。
  • 用户邮件通知

安装虚拟环境

自己上网搜索吧,这个就不多说了,其实我很烦安装虚拟环境的,在自己的电脑上搞都是直接insert。。。

安装的py模块:

flaskscriptspip install flask
flaskScriptspip install flask-login
flaskScriptspip install flask-openid
flaskScriptspip install flask-sqlalchemy
flaskScriptspip install sqlalchemy-migrate
flaskScriptspip install flask-whooshalchemy
flaskScriptspip install flask-wtf
flaskScriptspip install flask-babel
flaskScriptspip install flup
开始我们的旅程吧
创建程序的结构(想到什么就加什么,一时还没想好怎么分区呢。。。)
microblog-app
      __init__.py
      views.py
      -static
      -templats
     run.py


初始化app\__init__.py

from flask import Flask

app = Flask(__name__)

from app import views

编写试图函数

# appviews.py

from app import app


@app.route('/')
@app.route('/index')
def index():
    pass

下面,使web应用能完全运行的最后一步就是创建一个能启动我们开发的这个应用web服务器的脚本。

#sicroblog
un.py

from app import app


if __name__ == "__main__":
    app.run(debug=True)

debug =True 开启调试模式

这时候你就可以运行程序,在浏览器中打开http:\127.0.0.1:5000,虽然什么都没有出现,但是你已经成功第一步了

 制作模板系统

为了保持业务逻辑和表现的分离,可以使用模板使你的网站结构将会组织的更好。

先来创建一个基础模板(templatesase.html)吧

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    {%if title%}
    <title>{{title}}-microblog</title>
    {%else%}
    <title>Microblog</title>
    {%endif%}
</head>
<body>
    
    <div>microblog: <a href="/index">Home</a></div>
    <hr>
    {%block content %}{%endblock %}
</body>
</html>

之后的模板都可以通过继承的方式来引用你的base.html。

继承的关键是{%extends “base.html”%}

例如:index.html模板

{% extends "base.html" %}
{% block content %}
<h1>Hi, {{user.nickname}}!</h1>
{% for post in posts %}
<div><p>{{post.author.nickname}} says: <b>{{post.body}}</b></p></div>
{% endfor %}
{% endblock %}

下面到了修改我们的试图(appviews.py)的时候

from app import app
from flask import render_template
# appviews.py
@app.route('/')
@app.route('/index')
def index():
    user = {'nickname':'liwanning'}
    posts =[
        {
            'author':{'nickname':'憨豆豆'},
            'body':"今天是美丽的一天!"
         },
        {
            'author': {'nickname': '小会计'},
            'body': "要不要来场甜蜜的约会?"
        }

    ]
    return render_template('index.html',title = 'Home',user = user,
                                        posts = posts)

运行你的程序看看!!

原文地址:https://www.cnblogs.com/zuoshoushizi/p/7447566.html