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
danzzzz
V2EX  ›  Python

为什么连 flask 最简单的一个 hello world 的页面都会返回 404?

  •  
  •   danzzzz · 2019-03-19 11:30:21 +08:00 · 8657 次点击
    这是一个创建于 2076 天前的主题,其中的信息可能已经有所发展或是发生改变。
    # http://localhost:5000/,结果居然返回 404 了,纳闷了很久。求助。
    
    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return 'hello,man'
    
    

    主要是 Icreament 中的 for 循环小弟看不太懂,不懂的地方在于如何满十的时候进一个位,我比较笨,有时候绕不过来了,希望各位懂的大哥们帮帮忙,如果能得到对 Icreament 这段代码的说明就真的非常感谢了。

    28 条回复    2019-03-19 23:41:42 +08:00
    firebroo
        1
    firebroo  
       2019-03-19 11:34:59 +08:00 via Android
    没看懂
    jinksw
        2
    jinksw  
       2019-03-19 11:37:05 +08:00
    代码加上

    if __name__ == '__main__':
    app.run()

    然后在运行啊

    后面你说的那一堆我没明白
    CallMeReznov
        3
    CallMeReznov  
       2019-03-19 11:38:54 +08:00
    驴头不对马嘴
    Trim21
        4
    Trim21  
       2019-03-19 11:39:54 +08:00 via Android
    ice cream 那堆跟 flask 有什么关系…
    mseasons
        5
    mseasons  
       2019-03-19 11:57:47 +08:00   ❤️ 1
    为什么这么简单的问题你都不会问
    Doragd
        6
    Doragd  
       2019-03-19 12:06:59 +08:00
    what is Icreament ???增量? increment ? 冰淇淋? ice cream ?
    Nicoco
        7
    Nicoco  
       2019-03-19 12:18:40 +08:00
    寒冬之中,你这水平……
    alivesun
        9
    alivesun  
       2019-03-19 12:36:53 +08:00
    Icreament 是楼主另一个帖子的内容,关于剑指 offer 里面的
    xpresslink
        10
    xpresslink  
       2019-03-19 12:39:57 +08:00
    2 楼已经说得明白了,你的服务都没有跑起来,当然 404 啊。
    ranleng
        11
    ranleng  
       2019-03-19 13:09:05 +08:00
    不对啊. 如果没有 run 起来, 那不存在 404,应该是 Can't connect to the server 之类的吧...
    jinksw
        12
    jinksw  
       2019-03-19 13:13:45 +08:00
    好像是啊 你说的有道理 🤔
    delectate
        13
    delectate  
       2019-03-19 13:52:46 +08:00
    from flask import Flask

    app = Flask(__name__)


    @app.route('/')
    def index():
    return 'hello,man'
    app.run()

    不要同时运行多个,不然端口冲突。
    xpresslink
        14
    xpresslink  
       2019-03-19 14:38:45 +08:00
    @ranleng 前面有 nginx 之类的反向代理,当后端服务不可用时,给客户端返回就是 404。
    Trim21
        15
    Trim21  
       2019-03-19 14:47:23 +08:00 via Android
    @xpresslink 默认返回我记得是 502 吧…
    wrq
        16
    wrq  
       2019-03-19 14:49:01 +08:00
    ashCloud
        17
    ashCloud  
       2019-03-19 14:50:04 +08:00
    你端口也没监听啊,实例也没 run,怎么跑起来的?
    busfool
        18
    busfool  
       2019-03-19 14:51:44 +08:00 via Android
    LokiSharp
        19
    LokiSharp  
       2019-03-19 14:56:02 +08:00
    flask run
    lusi1990
        20
    lusi1990  
       2019-03-19 18:18:26 +08:00 via Android
    如果用 pycharm ,确实不需要 app.run()
    io123
        21
    io123  
       2019-03-19 18:31:42 +08:00 via Android
    @app.route('/',methods=['GET'])

    试下?
    tennc
        22
    tennc  
       2019-03-19 19:19:25 +08:00
    楼主 可否看看官方的 doc ??

    ```
    from flask import Flask
    app = Flask(__name__)

    @app.route('/')
    def hello_world():
    return 'Hello World!'

    if __name__ == '__main__':
    app.run()
    ```
    mritd
        23
    mritd  
       2019-03-19 20:13:16 +08:00 via iPhone
    作为一个 写了几年 java 现在折腾容器的半运维开发狗来说,上面的对话我有点蒙了.....楼主如果没启动服务,那么应当拒绝连接,如果有 nginx 应当返回 502,然而不懂 py,我只能知道这些了
    lonisletend
        24
    lonisletend  
       2019-03-19 20:38:53 +08:00 via Android
    推荐给楼主一个 flask 的教程吧,如果英文还凑合的话,这个肯定适合你。
    https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
    4ever911
        25
    4ever911  
       2019-03-19 20:52:53 +08:00
    ### 为什么连 flask 最简单的一个 404 错误 都搞定不了。。。。

    Flask 到处都是最基本都范例,照着打进去看啊。

    哈哈哈,楼主,多一些钻研精神吧,砖不好搬的。
    lowett
        26
    lowett  
       2019-03-19 23:25:40 +08:00
    @lusi1990 需要的 不然进程直接终止
    lowett
        27
    lowett  
       2019-03-19 23:34:46 +08:00
    楼主所说的 404 到底是真的 404 还是“无法访问此网站”呢?
    经测试:

    1.pycharm,需要 app.run()

    2、gunicorn 启动的话不需要 app.run(),(但其实还是运行了 run )服务正常

    3、如果没有启动的话端口 5000 没有开,应该是拒绝访问,不管是不是 nginx 代理

    4、如果 3 中 5000 被占用,那么服务有可能 404,凑巧哈哈哈
    zxcvsh
        28
    zxcvsh  
       2019-03-19 23:41:42 +08:00 via iPhone
    提问不贴全图
    官方文档很详细
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.