V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
geek123
V2EX  ›  Python

推荐大家一个 Python 轻量框架 flask 的入门的课程,有感兴趣的可以瞅瞅!

  •  
  •   geek123 · 2018-03-07 14:24:06 +08:00 · 5032 次点击
    这是一个创建于 2213 天前的主题,其中的信息可能已经有所发展或是发生改变。

    入门学习很不错!深入浅出 flask xc.hubwiz.com/course/562427361bc20c980538e26f

    讲解内容包括了

    1. 路由:URL 规则与视图函数
    2. 请求、应答与会话 :Request/Response/Session
    3. 上下文对象 :Flask 核心机制
    4. 模板:分离数据与视图
    5. 访问数据库 :SQLAlchemy 简介
    6. 蓝图 :FLask 应用组件化
    第 1 条附言  ·  2018-03-07 16:50:02 +08:00

    flask

    28 条回复    2018-03-08 15:18:47 +08:00
    brcehuai8
        1
    brcehuai8  
       2018-03-07 16:03:25 +08:00
    求教,我这个 flask 框架写的东西可以验证 token,无法用机器人
    # -*- coding:utf-8 -*-

    from flask import Flask
    from flask import request
    from chatterbot import ChatBot
    from chatterbot.trainers import ListTrainer
    import hashlib

    app = Flask(__name__)
    app.debug = True

    bot = ChatBot("bot", read_only=True)

    bot.set_trainer(ListTrainer)

    bot.train("ListTrainer")

    @app.route('/get_respnse',methods=['GET','POST'])
    def response(user_input):

    if request.method == 'POST':
    response = bot.get_response(user_input).text
    return {"response":response}

    @app.route('/wx_flask',methods=['GET','POST'])
    def wechat():

    if request.method == 'GET':
    #这里改写你在微信公众平台里输入的 token
    token = 'weixin'
    #获取输入参数
    data = request.args
    signature = data.get('signature','')
    timestamp = data.get('timestamp','')
    nonce = data.get('nonce','')
    echostr = data.get('echostr','')
    #字典排序
    list = [token, timestamp, nonce]
    list.sort()

    s = list[0] + list[1] + list[2]
    #sha1 加密算法
    hascode = hashlib.sha1(s.encode('utf-8')).hexdigest()
    #如果是来自微信的请求,则回复 echostr
    if hascode == signature:
    return echostr
    else:
    return ""



    if __name__ == '__main__':
    app.run(port=8000)
    yuhr123
        2
    yuhr123  
       2018-03-07 16:05:22 +08:00   ❤️ 2
    flask 看文档就好了,干嘛要花钱学?把本来简单的东西复杂化了
    brcehuai8
        3
    brcehuai8  
       2018-03-07 16:09:21 +08:00
    @yuhr123 老哥,我定义的机器人无法工作,404 能帮我看看吗
    Linys
        4
    Linys  
       2018-03-07 16:11:25 +08:00   ❤️ 1
    https://blog.miguelgrinberg.com/index

    Flask 可以看上面的教程
    wayne1027
        5
    wayne1027  
       2018-03-07 16:24:57 +08:00
    super expensive
    maxshawn
        6
    maxshawn  
       2018-03-07 16:26:17 +08:00   ❤️ 1
    这广告好硬啊
    geek123
        7
    geek123  
    OP
       2018-03-07 16:34:12 +08:00
    @maxshawn 发铜币。
    geek123
        8
    geek123  
    OP
       2018-03-07 16:34:46 +08:00
    @yuhr123 不是有些同学看文档头疼吗。
    geek123
        9
    geek123  
    OP
       2018-03-07 16:37:57 +08:00
    @brcehuai8 你贴这个谁也帮不了你。谁知道你的代码是啥,你改没改 token,你的目录是否对。。。。。。。。
    geek123
        10
    geek123  
    OP
       2018-03-07 16:38:43 +08:00
    @Linys 你们都是欺负初学的英语不好的人是吗:)
    brcehuai8
        11
    brcehuai8  
       2018-03-07 16:44:24 +08:00
    @geek123 老哥,这个代码可以过 token 验证,就是报 http 500 的错误,你倒是认真看一下再回复啊
    geek123
        12
    geek123  
    OP
       2018-03-07 16:55:49 +08:00
    @brcehuai8 最笨的办法埋点写日志,看问题出在那个位置,再看那块的代码,服务器出错,应该还是响应问题。
    jy02201949
        13
    jy02201949  
       2018-03-07 16:56:07 +08:00
    太贵了,能买三本书了。。。
    geek123
        14
    geek123  
    OP
       2018-03-07 17:21:17 +08:00
    @jy02201949 这个教程能提高不少效率的。对于入门来说,先快速过一遍,然后进入项目状态,比较适合。和官网内容差异比较大,都是老司机的经验,
    satanandroid
        15
    satanandroid  
       2018-03-07 17:21:33 +08:00
    199.。。。我选择买书
    yhzwy
        16
    yhzwy  
       2018-03-07 17:27:55 +08:00
    买一本书搞定的事情卖 199.。
    内容还不多。
    geek123
        17
    geek123  
    OP
       2018-03-07 17:35:33 +08:00
    @yhzwy 不一样,思考的方式书多厚啊,这个可以边学边练,对有基础的人,效率似乎更重要吧。
    Alchemistxxd
        18
    Alchemistxxd  
       2018-03-07 17:43:50 +08:00 via iPhone
    还不如买盘游戏玩玩,看看官方文档
    kimchan
        19
    kimchan  
       2018-03-07 17:52:57 +08:00
    flask 的文档都看不进去的话... 这学习能力....
    v2xe2v
        20
    v2xe2v  
       2018-03-07 18:37:42 +08:00
    我擦,为啥不看文档,脑子有坑吗
    wzw
        21
    wzw  
       2018-03-07 18:59:30 +08:00 via iPhone
    199 应该很难有人买这个 flask 教程
    object1984
        22
    object1984  
       2018-03-07 19:18:34 +08:00
    有点贵,便宜点可能会买
    geek123
        23
    geek123  
    OP
       2018-03-07 20:22:14 +08:00
    @object1984
    @wzw

    那多钱觉得合适?
    aristotll
        24
    aristotll  
       2018-03-07 21:39:28 +08:00
    应该发到推广节点吧
    xvx
        25
    xvx  
       2018-03-08 09:42:12 +08:00 via iPhone
    我主要问题其实是前端……
    Flask 前端设计浪费的时间比后台逻辑编写多太多了。
    fghjghf
        26
    fghjghf  
       2018-03-08 14:06:31 +08:00   ❤️ 1
    老哥,老实说 Flask 这玩意根本不用看视频教程。而且 199 也太贵了吧。。
    geek123
        27
    geek123  
    OP
       2018-03-08 15:17:58 +08:00
    @fghjghf 说实在的真的不是视频教程。是边学边练的,看过以后会觉得比市面上课程强百倍。
    geek123
        28
    geek123  
    OP
       2018-03-08 15:18:47 +08:00
    @xvx 需要搞得东西很多,但是也灵活,如果用 django 的话不灵活,这个各取所需吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1176 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:17 · PVG 02:17 · LAX 11:17 · JFK 14:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.