python+mysql+flask创建一个微博应用(持续更新)
微博应用的结构:
- 用户管理,包括登录管理,会话,用户角色,个人档案及用户头像。
- 数据库管理,包括数据库迁移处理。
- 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创建一个微博应用(持续更新)的更多相关文章
- java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结
2016-09-0111:06:53 使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...
- 使用python的Flask实现一个RESTful API服务器端
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
- MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】
MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...
- Python语言上机题实现方法(持续更新...)
Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...
- [0]尝试用Unity3d制作一个王者荣耀(持续更新)->游戏规划
太得闲了于是想写个农药,虽然可能会失败但是还是要试一试. 因为是自学的不是Unity专业的可能表达语言会有些不标准!望见谅! 结构: 以组件式(比如说摇杆控制和玩家部分的编写是分离的,可以自由拼装)作 ...
- Python框架学习之用Flask创建一个简单项目
在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...
- 使用python的Flask实现一个RESTful API服务器端[翻译]
最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...
- 转:使用python的Flask实现一个RESTful API服务器端
提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...
- mysql 如何创建一个简单的存储过程
1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test ...
随机推荐
- android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications
注:本文内容来自:https://developer.android.com/training/wearables/notifications/index.html 翻译水平有限,如有疏漏,欢迎批评指 ...
- Spring配置补充
# :Spring配置补充 ## 一:灵活配置DataSource (1) 使用属性文件配置数据源 (2) 使用JNDI数据源 (3) Spring中的Bean的作用域问题, Sin ...
- 安装scrapy框架的常见问题及其解决方法
下面小编讲一下自己在windows10安装及配置Scrapy中遇到的一些坑及其解决的方法,现在总结如下,希望对大家有所帮助. 常见问题一:pip版本需要升级 如果你的pip版本比较老,可能在安装的过程 ...
- [转载] HBase vs Cassandra:我们迁移系统的原因
转载自http://www.csdn.net/article/2010-11-29/282698 我的团队近来正在忙于一个全新的产品——即将发布的网络游戏www.FightMyMonster.com. ...
- Linux的chattr与lsattr命令详解
Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...
- Python之Queue模块
Queue 1.创建一个“队列”对象 >>> import Queue >>> queue = Queue.Queue(maxsize=100) >>& ...
- MarkdownPad2测试
IO利用率统计 SAS SSD MegaRaid
- 智能合约开发环境搭建及Hello World合约
如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...
- 九、Hadoop学习笔记————Hive简介
G级别或者T级别都只能用hadoop
- 你绝不能错过的效率神器 —— Alfred
文章首发于[博客园-陈树义],点击跳转到原文<你绝不能错过的效率神器 -- Alfred> Alfred 是 Mac 系统上一款专注于效率提升的著名应用,它能帮你快速打开网页.快速进行自定 ...