微博应用的结构:

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

安装虚拟环境

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

安装的py模块:

flask\scripts\pip install flask
flask\Scripts\pip install flask-login
flask\Scripts\pip install flask-openid
flask\Scripts\pip install flask-sqlalchemy
flask\Scripts\pip install sqlalchemy-migrate
flask\Scripts\pip install flask-whooshalchemy
flask\Scripts\pip install flask-wtf
flask\Scripts\pip install flask-babel
flask\Scripts\pip 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

编写试图函数

# app\views.py

from app import app

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

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

#sicroblog\run.py

from app import app

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

debug =True 开启调试模式

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

 制作模板系统

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

先来创建一个基础模板(templates\base.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 %}

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

from app import app
from flask import render_template
# app\views.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)

运行你的程序看看!!

python+mysql+flask创建一个微博应用(持续更新)的更多相关文章

  1. java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结

    2016-09-0111:06:53                                     使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...

  2. 使用python的Flask实现一个RESTful API服务器端

    使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...

  3. MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】

    MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...

  4. Python语言上机题实现方法(持续更新...)

    Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...

  5. [0]尝试用Unity3d制作一个王者荣耀(持续更新)->游戏规划

    太得闲了于是想写个农药,虽然可能会失败但是还是要试一试. 因为是自学的不是Unity专业的可能表达语言会有些不标准!望见谅! 结构: 以组件式(比如说摇杆控制和玩家部分的编写是分离的,可以自由拼装)作 ...

  6. Python框架学习之用Flask创建一个简单项目

    在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...

  7. 使用python的Flask实现一个RESTful API服务器端[翻译]

    最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...

  8. 转:使用python的Flask实现一个RESTful API服务器端

    提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...

  9. mysql 如何创建一个简单的存储过程

    1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test ...

随机推荐

  1. c#工厂模式与抽象工厂模式

    一. 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中. 工厂方法模式是简单工 ...

  2. linux操作系统基础篇(七)

    Linux服务篇(二) 1.nfs服务的搭建 安装: yum install rpcbind nfs-utils -y 配置: NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要 ...

  3. MyBatis《2》

    MyBatis入参考文档:http://mybatis.org/mybatis-3/zh/   1.properties 属性 1.在MyBatis配置文件中引用属性文件     MyBatis允许在 ...

  4. Tomcat在修改代码后不会自动reload解决办法

    1.找到使用的Tomcat安装目录conf配置文件夹下context.xml文件 2.找到<Context>节点,改为<Context reloadable="true&q ...

  5. TP框架Ajax如何使用

    ThinkPHP可以很好的支持AJAX请求,系统的\Think\Controller类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端.并且支持JSON.JSONP.XML和EVAL四 ...

  6. canvas画一个时钟

    效果图如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

  8. (翻译)使用Api分析器与Windows兼容包来编写智能的跨平台.NET Core应用

    本文翻译自Scott Hanselman博客: https://www.hanselman.com/blog/WritingSmarterCrossplatformNETCoreAppsWithThe ...

  9. codeforces 893D Credit Card 贪心 思维

    codeforces 893D Credit Card 题目大意: 有一张信用卡可以使用,每天白天都可以去给卡充钱.到了晚上,进入银行对卡的操作时间,操作有三种: 1.\(a_i>0\) 银行会 ...

  10. mysql如何查看索引使用情况以及优化 - guols0612

    mysql中支持hash和btree索引.innodb和myisam只支持btree索引,而memory和heap存储引擎可以支持hash和btree索引 我们可以通过下面语句查询当前索引使用情况: ...