flask 学习 (五)
之前照着书去做的时候经常出现一些小问题,由于对于flask核心内容还不甚了解,我觉定先从更简单的做起,再根据别的需要对搭建的网站进行扩展。
上网找了一下,发现这位http://zhanghonglun.cn/blog/发布的简易搭建的方法还是不错的,链接如下
http://note.youdao.com/share/?id=2155cf875395e84d92ef80baeae7c3c0&type=notebook#/WEBe84cfb2c9698e3f528b677066e9fb055决定试一下。我之前装过wamp,就用里面的mysql建数据库好了。
flask也是MVC结构的,接下来,先新建文件夹,在里面放三个小文件夹,一个py配置程序,一个py主程序。小文件夹一个用来安装虚环境virtualenv,用来放相关的python库。
这里我使用命令行进入文件夹,输入 virtualenv安装。
Installing Setuptools...........................................................
................................................................................
................................................................................
.........................done.
Installing Pip..................................................................
................................................................................
................................................................................
................................................................................
.......................done.
这时虚环境搭建好了,启动按钮放在Scripts文件下,于是用 scripts\activate启动它,安装我搭建网站需要的东西
pip install flask
pip install mysql-python
mysql-python是操作数据库要用的,我安装的时候提示
error: command '"C:\Users\Administrator\AppData\Local\Application Data\Programs\Common\Microsoft\Visual C++
for Python\9.0\VC\Bin\cl.exe"' failed with exit status 2
没办法,改用easy_install 安装,可以了。继续搭建。
小文件夹还有两个,我把他们命名为templates和static,这就是用来显示页面的东西了。flask用的是JinJia模板引擎,默认在templates文件夹下找模板。static放别的静态文件资源,css,js,图片之类的。
我现在只想实现博客的输入并提交文字,生成文章列表,查询文章这些功能,其中提交和查询都要经过mysql数据库的。所以py主程序里面用来做这些功能已经够了。import os
from flask import Flask, request, session, g, redirect, url_for, abort, \
render_template, flash
import MySQLdb
import MySQLdb.cursors
from config import *
app = Flask(__name__)
app.config.from_object(__name__) #首页
@app.route('/')
def index(): #文章列表
@app.route('/list')
def list(): #文章内容
@app.route('/post/<post_id>')
def post(post_id): #提交文字
@app.route('/handle',methods=['POST'])
def handle(): if __name__ == '__main__':
app.run()
flask 学习 (五)的更多相关文章
- Flask 学习 五 电子邮件
pip install mail from flask_mail import Mail # 邮件配置 app.config['MAIL_SERVER']='smtp.qq.com' app.conf ...
- flask学习(五):使用配置文件
1. 新建一个config.py文件 2. 在主app文件中导入这个文件,并且配置到app中,示例代码如下: import config app.config.from_object(config) ...
- [ZHUAN]Flask学习记录之Flask-SQLAlchemy
From: http://www.cnblogs.com/agmcs/p/4445583.html 各种查询方式:http://www.360doc.com/content/12/0608/11/93 ...
- Flask学习-Wsgiref库
一.前言 前面在Flask学习-Flask基础之WSGI中提到了WerkZeug,我们知道,WerkZeug是一个支持WSGI协议的Server,其实还有很多其他支持WSGI协议的Server.htt ...
- Flask学习之六 个人资料和头像
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-vi-profile-page-and-avatars ...
- Flask学习之五 用户登录
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-v-user-logins 中文翻译地址:http:// ...
- TweenMax动画库学习(五)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- Flask 学习目录
Flask 学习目录 Flask 的学习过程是一个了解如何从单个模块搭建一个 Web 框架的过程. Python.Flask 的安装和设置 简单的 Hello World 程序 使用 Jinjia2 ...
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
随机推荐
- 在RecyclerView中集成QQ汽泡二
上次已经将GooView集成到RecyclerView当中了[http://www.cnblogs.com/webor2006/p/7787511.html],但是目前还有很多问题,下面先来运行看一下 ...
- C#DataTable导出Excel,并实现合并单元格
asp.net webwofrm后台代码----------建议Framework4.0及以上,3.5试过出现好多莫名错误... 首先导入两个程序集.我的是 office2003,引用的COM里面的 ...
- java poi 读取excel内容
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import or ...
- springboot打包后静态资源webapp文件夹无法打包进去
1.如下图的目录结构 webapp 文件夹和resources 文件夹同级.使用mvn clean install 打包过后项目启动访问,静态资源页面404. 2.原因,springboot 打包时候 ...
- BSGS 扩展大步小步法解决离散对数问题 (BZOJ 3239: Discrete Logging// 2480: Spoj3105 Mod)
我先转为敬? orz% miskcoo 贴板子 BZOJ 3239: Discrete Logging//2480: Spoj3105 Mod(两道题输入不同,我这里只贴了3239的代码) CODE ...
- 【Weblogic】-weblogic查看版本及升级
一.查看weblogic版本 1. cd /weblogic/bea/wlserver_10.3/server/lib 2. java -cp weblogic.jar weblogic.versio ...
- LibreOffice/Calc:取消单元格中的超链接
造冰箱的大熊猫@cnblogs 2019/2/27 在LibreOffice Calc的表格中输入电子邮箱地址或者网址后,软件会自动将输入内容转换为超链接形式显示.在某些情况下这种自动转换并非用户所 ...
- Killer Problem (UVA 11898 )
Problem You are given an array of N integers and Q queries. Each query is a closed interval [l, r]. ...
- AcWing:99. 激光炸弹(前缀和)
一种新型的激光炸弹,可以摧毁一个边长为 RR 的正方形内的所有的目标. 现在地图上有 NN 个目标,用整数Xi,YiXi,Yi表示目标在地图上的位置,每个目标都有一个价值WiWi. 激光炸弹的投放是通 ...
- 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...