Flask开发(1)

来源:互联网 发布:法国制造业年度数据 编辑:程序博客网 时间:2024/06/02 04:53
准备做网站了,一开始打算直接用wordpress,然后放到亚马逊云上面
但是被老板鄙视了,问了我一大堆问题我都不会
他说可以找台不用的电脑整天开着,或者放到学院的服务器上,主要是这样就不用花钱了呗
我觉得技术上是可行的
所以我要自己写代码了
先从flask开始学起
申请了一个域名叫做 www.43493.me 21块钱一年,狗爹网买的,不贵。
但是两年就要100多是为啥呢

我用《flask web deveopment》这本书学习
但是它教的方式更贴近linux 的vim
而我用的是pycharm,windows下更方便

狗书第一章

P4,P5

############
先熟悉使用git

############


把整个项目复制到本地:
git clone https://github.com/miguelgrinberg/flasky.git

从项目的第一个版本开始学习
git checkout 1a

然后打开pycharm,在里面打开这个项目,当然pycharm里也有命令行
virtualenv还需要再安装设置吗?pycharm里是不是有这个功能呢?目前我电脑里只有python3.6.0

答案是需要的。


先在~/Documents/flasky 下打开git bash 
然后pip install virtualenv
然后 virtualenv venv 默认的名字都是venv

好了,然后进入pycharm,在setting里面加入这个环境

这样的话还需要在pycharm下面的控制台启动 venv\Script\activate
这一步是必须的嘛?
不是了,IDE已经给自动运行了。
这个博客里说的很清楚
http://www.cnblogs.com/IDRI/p/6354237.html


狗书第二章
P7
WSGI(web server gateway interface) 
web服务器使用WSGI协议把接受自客户端的所有请求都交给这个对象处理。
from flask import Falsk
app = Flask(__name__)

P8
客户端(浏览器)把(url)请求发送给web服务器,然后服务器把请求发送给Flask
每个url对应着一个函数来处理这个请求,这个对应关系下的函数叫做路由
@app.route('/') 
def index():
return '<h1>hello world</h1>'
index()就是个路由,index函数叫做视图函数
index的返回值称作响应。hello world是个最简单的响应。


#################
装饰器的用法
def now():
print (222)
相当于 now = log(now)
#################

响应可以是根据请求来动态改变的:
@app.route('/user/<name>')
def user(name):
retuen '<h1>hello, %s </h1>' % name

启动服务器
if __name__ == '__main__':
app.run(debug=True)

总结:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>hi </h1>'
if __name__ == '__main__':
app.run(debug = True)

默认端口是5000
在127.0.0.1:5000成功输出 hi

P11 程序上下文和请求上下文
不懂!
这是个请求上下文:
@app.route('/agent')
def index1():
    user_agent = request.headers.get('User_Agent')
    return '<p> your browser is %s </p>' % user_agent
得到:

your browser is Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36


###########

vim使用,可以在git bash里学习使用

###########

vim abc.txt
进入到正常模式
i进入插入模式
v进入可视模式、
:进入命令模式
不论在其他什么模式下,按一次或两次<Esc>键都可以回到正常模式
退出:
:q!
ZZ


P16
安装了Flask-Script
用法:
from flask_script import Manager
manager = Manager(app)


if __name__ == '__main__':
manager.run()
感觉没啥用吧


狗书第三章

P20

Jinja2渲染
我看懂了,主要是使项目变得模块化
0 0