為Python的web框架編寫MVC配置來(lái)使其運(yùn)行的教程
現(xiàn)在,ORM框架、Web框架和配置都已就緒,我們可以開始編寫一個(gè)最簡(jiǎn)單的MVC,把它們?nèi)繂?dòng)起來(lái)。
通過(guò)Web框架的@decorator和ORM框架的Model支持,可以很容易地編寫一個(gè)處理首頁(yè)URL的函數(shù):
# urls.py from transwarp.web import get, view from models import User, Blog, Comment @view('test_users.html') @get('/') def test_users(): users = User.find_all() return dict(users=users)
@view指定的模板文件是test_users.html,所以我們?cè)谀0宓母夸泃emplates下創(chuàng)建test_users.html:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Test users - Awesome Python Webapp</title> </head> <body> <h1>All users</h1> {% for u in users %} <p>{{ u.name }} / {{ u.email }}</p> {% endfor %} </body> </html>
接下來(lái),我們創(chuàng)建一個(gè)Web App的啟動(dòng)文件wsgiapp.py,負(fù)責(zé)初始化數(shù)據(jù)庫(kù)、初始化Web框架,然后加載urls.py,最后啟動(dòng)Web服務(wù):
# wsgiapp.py import logging; logging.basicConfig(level=logging.INFO) import os from transwarp import db from transwarp.web import WSGIApplication, Jinja2TemplateEngine from config import configs # 初始化數(shù)據(jù)庫(kù): db.create_engine(**configs.db) # 創(chuàng)建一個(gè)WSGIApplication: wsgi = WSGIApplication(os.path.dirname(os.path.abspath(__file__))) # 初始化jinja2模板引擎: template_engine = Jinja2TemplateEngine(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates')) wsgi.template_engine = template_engine # 加載帶有@get/@post的URL處理函數(shù): import urls wsgi.add_module(urls) # 在9000端口上啟動(dòng)本地測(cè)試服務(wù)器: if __name__ == '__main__': wsgi.run(9000)
如果一切順利,可以用命令行啟動(dòng)Web服務(wù)器:
$ python wsgiapp.py
然后,在瀏覽器中訪問http://localhost:9000/。
如果數(shù)據(jù)庫(kù)的users表什么內(nèi)容也沒有,你就無(wú)法在瀏覽器中看到循環(huán)輸出的內(nèi)容??梢宰约涸贛ySQL的命令行里給users表添加幾條記錄,然后再訪問:
- Python 用戶登錄驗(yàn)證的小例子
- Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證
- 使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證
- Python模擬用戶登錄驗(yàn)證
- Python模擬登錄驗(yàn)證碼(代碼簡(jiǎn)單)
- Python登錄注冊(cè)驗(yàn)證功能實(shí)現(xiàn)
- Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能
- Python Selenium Cookie 繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼
- python+selenium識(shí)別驗(yàn)證碼并登錄的示例代碼
- Python實(shí)現(xiàn)的登錄驗(yàn)證系統(tǒng)完整案例【基于搭建的MVC框架】
相關(guān)文章
Python高級(jí)文件操作之shutil庫(kù)詳解
這篇文章主要介紹了Python高級(jí)文件操作之shutil庫(kù)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下2021-05-05利用Python將時(shí)間或時(shí)間間隔轉(zhuǎn)為ISO 8601格式方法示例
國(guó)際標(biāo)準(zhǔn)化組織的國(guó)際標(biāo)準(zhǔn)ISO8601是日期和時(shí)間的表示方法,全稱為《數(shù)據(jù)存儲(chǔ)和交換形式·信息交換·日期和時(shí)間的表示方法》,下面這篇文章主要給大家介紹了關(guān)于利用Python將時(shí)間或時(shí)間間隔轉(zhuǎn)為ISO 8601格式的相關(guān)資料,需要的朋友可以參考下。2017-09-09python pandas 對(duì)時(shí)間序列文件處理的實(shí)例
今天小編就為大家分享一篇python pandas 對(duì)時(shí)間序列文件處理的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python基于urllib實(shí)現(xiàn)按照百度音樂分類下載mp3的方法
這篇文章主要介紹了python基于urllib實(shí)現(xiàn)按照百度音樂分類下載mp3的方法,涉及Python使用urllib模塊操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2015-05-05Python使用pandas實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行特定排序
在數(shù)據(jù)分析和處理過(guò)程中,排序是一項(xiàng)常見而重要的操作,本文將詳細(xì)介紹如何利用pandas對(duì)數(shù)據(jù)進(jìn)行特定排序,包括基本排序、多列排序、自定義排序規(guī)則等方面的內(nèi)容,需要的可以了解下2024-03-03利用Python將彩色圖像轉(zhuǎn)為灰度圖像的兩種方法
這篇文章主要給大家介紹了關(guān)于利用Python將彩色圖像轉(zhuǎn)為灰度圖像的兩種方法,以及python 批量將圖片轉(zhuǎn)為灰度圖的方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12