亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python Web框架Flask下網站開發入門實例

系統 19458 0

一、Flask簡介

Flask 是一個 Python 實現的 Web 開發微框架。官網:http://flask.pocoo.org/

二、Demo

1、代碼結構

復制代碼 代碼如下:

.
├── blog.py
├── static
│?? ├── css
│?? │?? └── index.css
│?? ├── images
│?? │?? ├── cat.jpg
│?? │?? └── sheying1229.jpg
│?? └── js
└── templates
??? ├── index.html
??? ├── login.html
??? ├── regist.html
??? └── upload.html

5 directories, 8 files

2、主程序blog.py

復制代碼 代碼如下:

#!/usr/bin/python
#coding:utf8

from flask import Flask, render_template, url_for, request,redirect,make_response,session
import os,MySQLdb

app = Flask(__name__)
app.secret_key='afjlsjfowflajflkajfkjfkaljf'
user_list = ['jim','max','py']

imagepath = os.path.join(os.getcwd(),"static/images")

@app.route('/')
def index():
??? username = request.cookies.get('username')
??? if not username:
??????? username = u'請先登錄'
??? islogin = session.get('islogin')
??? nav_list = [u'首頁',u'經濟',u'文化',u'科技',u'娛樂']
??? blog = {'title':'welcome to my blog','content':'hello, welcome to my blog.'}
??? blogtag = {'javascript':10,"python":20,"shell":5}
??? img = url_for('static', filename="images/cat.jpg")
??? return render_template('index.html', nav_list=nav_list, username=username, blog = blog, blogtag = blogtag, img=img, islogin=islogin)

@app.route('/reg', methods=['GET','POST'])
def regist():
??? if request.method == 'POST':
??????? username = request.form['username']
??????? conn = MySQLdb.connect(user='root',passwd='admin',host='127.0.0.1')
??????? conn.select_db('blog')
??????? curr = conn.cursor()
??????? sql = 'insert into `user` (`id`,`username`) values (%d,"%s")' % (1,username)
??????? curr.execute(sql)
??????? conn.commit()
??????? curr.close()
??????? conn.close()
??????? return "user %s regist ok!" % request.form['username']
??? else:
??????? #request.args['username']
??????? return render_template('regist.html')

@app.route('/upload', methods=['GET','POST'])
def upload():
??? if request.method == 'POST':
??????? username = request.form['username']
??????? file = request.files['img']
??????? filename = file.filename
??????? file.save(os.path.join(imagepath,filename))
??????? return " " % filename
??? else:
??????? return render_template('upload.html')

@app.route('/login/', methods=['GET','POST'])
def login():
??? if request.method == 'POST':
??????? username = request.form.get('username')
??????? if username in user_list:
??????????? response = make_response(redirect('/'))
??????????? response.set_cookie('username', value=username, max_age=300)
??????????? session['islogin'] = '1'
??????????? return response
??????? else:
??????????? session['islogin'] = '0'
??????????? return redirect('/login/')
??? else:
??????? return render_template('login.html')

if __name__ == '__main__':
??? app.run(debug=True,host='0.0.0.0',port=5000)

主要有首頁、注冊、登錄、上傳頁面。

blog.py主要是展示了Flask中常見功能用法:路由,數據庫操作,cookie,session,redirect,表單,文件上傳,調試,Web服務器的IP和端口,靜態文件讀取等。

3、首頁模板index.html

復制代碼 代碼如下:




???
??? Flask DEMO
???


???

??????? {%if islogin == '1' %}
???????

Welcome ,{{username}}!


??????? {%else%}
???????

{{username}}!


??????? {%endif%}
???????
???

???

???????

???????????

{{blog['title']}}


???????????

??????????????? cat
???????????????

{{blog['content']}}


??????????????? cat
???????????

???????

???????

???????????

    ??????????????? {%for key,value in blogtag.items()%}
    ???????????????????
  • {{key}}({{value}})

  • ??????????????? {%endfor%}
    ???????????

???????

???




這個模板主要展示了在Flask模板中如何讀取各種類型的變量。

4、登錄頁面login.html

復制代碼 代碼如下:




???
??? Login
???


???

???????

Login


???

???

???????

???????????

???????????????

???????????????
???????????

???????

???



結合blog.py主要展示表單如何提交取值,cookie和session應用。

5、注冊頁面regist.html

復制代碼 代碼如下:




???
??? Regist
???


???

???????

Regist


???

???

???????

???????????

???????????????

???????????????
???????????

???????

???




結合blog.py主要展示了數據庫操作。

6、上傳頁面upload.html

復制代碼 代碼如下:




???
??? Upload
???


???

???????

Upload


???

???

???????

???????????

???????????????

???????????????

???????????????
???????????

???????

???




結合blog.py主要展示了如何上傳文件。

7、運行效果

Python Web框架Flask下網站開發入門實例_第1張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 26uuu在线| 香蕉视频免费在线播放 | 成人一级黄色毛片 | 亚洲综合精品香蕉久久网97 | 福利视频二区 | 亚洲欧美日韩不卡一区二区三区 | 中国女人内谢25xxxxx | 国产精品麻豆久久久 | 久久99精品国产麻豆不卡 | 亚洲欧美日韩国产精品久久 | 日日操夜夜爱 | 男女啪网站| 中文字幕不卡在线观看 | 国产日韩欧美中文 | 日韩在线观看一区二区三区 | 在线看日本a毛片 | 久久黄视频| 亚洲国产一区二区三区四区 | 国产色产综合色产在线观看视频 | 久久亚洲精品玖玖玖玖 | 国产日韩欧美在线观看免费视频 | 91精品啪在线观看国产色 | 国产免费久久精品丫丫 | 精品久久久久中文字幕日本 | 国产精选一区二区 | 四虎影院免费观看视频 | 亚洲va国产va欧美va综合 | 奇米影视777888 | 亚洲另类视频在线观看 | 欧美区国产区 | 久久福利资源国产精品999 | 日韩一级大毛片欧美一级 | 久久久精品一区 | 免费福利在线 | 神马影院我不卡影院 | 成年女人免费观看视频 | 99爱在线精品视频免费观看9 | 国产成人精品18 | 女人18特级一级毛片免费视频 | 99视频免费在线 | aaa一级最新毛片 |