最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python web開(kāi)發(fā)之用Tornado框架制作簡(jiǎn)易表白墻網(wǎng)站

 更新時(shí)間:2022年02月25日 14:44:44   作者:松鼠愛(ài)吃餅干  
這篇文章將用Python做Web開(kāi)發(fā)。在Python當(dāng)中,WEB開(kāi)發(fā)框架主要有三個(gè),本文將利用Tornado框架做一個(gè)簡(jiǎn)單的表白墻網(wǎng)站,感興趣的可以了解一下

前言

今天我們要用Python做Web開(kāi)發(fā),做一個(gè)簡(jiǎn)單的【表白墻】網(wǎng)站。眾所周知表白墻的功能普遍更多的是發(fā)布找人,失物招領(lǐng),還是一個(gè)大家可以跟自己喜歡的人公開(kāi)表白的平臺(tái)

Tornado框架簡(jiǎn)單介紹

在Python當(dāng)中,WEB開(kāi)發(fā)框架主要有三個(gè),而今天主要是用到Tornado框架(雖然這個(gè)框架是沒(méi)什么人用的輕量級(jí)框架)

安裝Tornado框架模塊代碼

pip install tornado

  • Django
  • Flask
  • Tornado

Tornado框架優(yōu)勢(shì)

  • 微框架,高性能
  • 異步支持

Tornado框架缺點(diǎn)

  • 輪子少,不像Django等框架大量的插件支持
  • 缺少最佳實(shí)戰(zhàn),公司使用不多,學(xué)習(xí)資料少

Tornado框架使用場(chǎng)景

構(gòu)建微服務(wù)

框架的組成

開(kāi)始先試下Tornado

先導(dǎo)入本次要用的模塊

import time
from tornado import web, ioloop, httpserver

視圖

class MainPageHandler(web.RequestHandler):
    def get(self, *args, **kwargs):  # 對(duì)應(yīng)get請(qǐng)求
        self.wrilt('hello tornado')

設(shè)置路由

app = web.Application(
    [
        (r"/", MainPageHandler),
    ]
)

“/”代表著訪問(wèn)首頁(yè),比如本地的域名是127.0.0.1:8000/,代表訪問(wèn)這個(gè)網(wǎng)址,就會(huì)訪問(wèn)到首頁(yè)

設(shè)置前端socket,調(diào)用

if __name__ == "__main__":
    # 前端socket
    http_server = httpserver.HTTPServer(app)
    http_server.listen(8000)
    ioloop.IOLoop.current().start()

運(yùn)行程序,先試試水

Tornado啟動(dòng)時(shí),不會(huì)像Django、Flask那樣會(huì)提示你已經(jīng)啟動(dòng)了

設(shè)置主頁(yè),調(diào)用前端文件模板

# 首頁(yè)
class MainPageHandler(web.RequestHandler):
    def get(self, *args, **kwargs):
        self.render('index.html', name='表白墻', messages=MESSAGES)

這次的前端文件直接調(diào)用了,這個(gè)網(wǎng)站的素材還是很多的

網(wǎng)站:https://www.17sucai.com/

設(shè)置

settings = {
    'template_path': 'templates',  # 設(shè)置模板文件路徑
    'static_path': 'statics'  # 靜態(tài)文件路徑
}

表白墻視圖

class WishHandler(web.RequestHandler):
    def get(self, *args, **kwargs):  # 對(duì)應(yīng)get請(qǐng)求
        self.render('wish.html',name='表白墻')

    def post(self, *args, **kwargs):
        # 獲取前端傳遞數(shù)據(jù)
        content = self.get_argument('content', default=None)
        name = self.get_argument('name', default='匿名')
        if content:
            # 添加數(shù)據(jù)
            MESSAGES.append({
                'name': name,
                'content': content,
                'id': len(MESSAGES) + 1,
                'num': len(MESSAGES) + 1,
                'time': time.strftime('%Y-%m-%d %H:%M:%S')
            })
            # 跳轉(zhuǎn)
            self.redirect('/')

        else:
            self.write('內(nèi)容不能為空')

留言

# 留言保存在全局變量中
MESSAGES = [
    {'id': 1, 'name': '學(xué)員', 'time': '2022-02-10 21:16:00', 'content': '真帥', 'num': 1}
]

運(yùn)行代碼,查看最后效果

到此這篇關(guān)于Python web開(kāi)發(fā)之用Tornado框架制作簡(jiǎn)易表白墻網(wǎng)站的文章就介紹到這了,更多相關(guān)Python Tornado框架制作表白墻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Keras 自定義層時(shí)遇到版本的問(wèn)題

    解決Keras 自定義層時(shí)遇到版本的問(wèn)題

    這篇文章主要介紹了解決Keras 自定義層時(shí)遇到版本的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 打包PyQt5應(yīng)用時(shí)的注意事項(xiàng)

    打包PyQt5應(yīng)用時(shí)的注意事項(xiàng)

    這篇文章主要介紹了打包PyQt5應(yīng)用時(shí)的注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2020-02-02
  • 在Python的web框架中中編寫(xiě)日志列表的教程

    在Python的web框架中中編寫(xiě)日志列表的教程

    這篇文章主要介紹了在Python中編寫(xiě)日志列表的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • ubuntu 18.04搭建python環(huán)境(pycharm+anaconda)

    ubuntu 18.04搭建python環(huán)境(pycharm+anaconda)

    這篇文章主要為大家詳細(xì)介紹了ubuntu 18.04搭建python環(huán)境,包括Anaconda安裝、Pycharm安裝及初始配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python實(shí)現(xiàn)將圖片轉(zhuǎn)換為ASCII字符畫(huà)

    Python實(shí)現(xiàn)將圖片轉(zhuǎn)換為ASCII字符畫(huà)

    這篇文章主要介紹了Python實(shí)現(xiàn)將圖片轉(zhuǎn)換為ASCII字符畫(huà),要將圖片轉(zhuǎn)換為字符圖其實(shí)很簡(jiǎn)單,我們首先將圖片轉(zhuǎn)換為灰度圖像,這樣圖片的每個(gè)像素點(diǎn)的顏色值都是0到255,然后我們選用一些在文字矩形框內(nèi)占用面積從大到小的ASCII碼字符
    2022-08-08
  • python openpyxl模塊的使用詳解

    python openpyxl模塊的使用詳解

    這篇文章主要介紹了python openpyxl模塊的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • python做反被爬保護(hù)的方法

    python做反被爬保護(hù)的方法

    在本文里小編給大家整理了一篇關(guān)于python做反被爬保護(hù)的方法的方法,由此需求的同學(xué)參考學(xué)習(xí)下。
    2019-07-07
  • Python?設(shè)計(jì)模式行為型解釋器模式

    Python?設(shè)計(jì)模式行為型解釋器模式

    本文介紹了Python解釋器模式,解釋器模式即Interpreter?Pattern,給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子,下面文章進(jìn)入更深層學(xué)習(xí),需要的小伙伴可以參考一下
    2022-02-02
  • python創(chuàng)建生成器以及訪問(wèn)的方法詳解

    python創(chuàng)建生成器以及訪問(wèn)的方法詳解

    這篇文章主要介紹了python創(chuàng)建生成器以及訪問(wèn)的方法詳解,與列表一次性地將數(shù)據(jù)全都加載到內(nèi)存不同的是,生成器使用推斷加載數(shù)據(jù),每次只推斷出一個(gè)對(duì)象,在數(shù)據(jù)量比較大時(shí),可以節(jié)省內(nèi)存,需要的朋友可以參考下
    2023-11-11
  • 詳解C++編程中一元運(yùn)算符的重載

    詳解C++編程中一元運(yùn)算符的重載

    這篇文章主要介紹了C++編程中一元運(yùn)算符的重載,特別對(duì)遞增和遞減運(yùn)算符重載作了著重講解,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

松阳县| 宝鸡市| 体育| 怀远县| 文水县| 翁源县| 潼关县| 漯河市| 江孜县| 镇沅| 凤阳县| 桃源县| 湖北省| 义乌市| 台中市| 成安县| 上蔡县| 岳池县| 玛曲县| 太保市| 库尔勒市| 海安县| 永嘉县| 乐山市| 河源市| 攀枝花市| 疏勒县| 尼玛县| 盐源县| 建湖县| 白朗县| 临安市| 惠来县| 贵州省| 疏附县| 洞头县| 嘉禾县| 德钦县| 七台河市| 淳安县| 焦作市|