V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
donghouhe
V2EX  ›  程序员

小菜我写了个 quiz 类 web 站,望前辈们鼓励点 star

  •  
  •   donghouhe ·
    donghouhe · 2015-12-22 19:18:41 +08:00 · 3162 次点击
    这是一个创建于 3258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址 http://115.28.200.89:8080/
    欢迎体验,第一个验证问题的答案是“王八蛋”

    github 地址 https://github.com/donghouhe/quiz4guo
    求点 star~ 求鼓励

    服务器端仅仅是 python run.py 运行,没有用 gunicorn 是因为用 session 控制答题流程。 gunicorn 似乎多进程的。

    采用的技术:
    - flask
    - bootstrap
    - sqlite
    - jQuery & ajax

    求前辈们鼓励!

    第 1 条附言  ·  2015-12-22 20:17:15 +08:00
    python run.py 的朴素运行方式挂了,于是用 gunicorn 重新跑在 80 端口
    请访问 http://115.28.200.89/ 由于 gunicorn 让 session 不能专一稳定 功能体验不全面(不能答完 12 道题就跳回第一个问题了)
    “单选做成多选”,这是考虑到以后加个多选题的可能,所以这么放了
    11 条回复    2015-12-23 01:35:02 +08:00
    PickMio
        1
    PickMio  
       2015-12-22 19:44:02 +08:00
    网页貌似打不开?已 star
    windfarer
        2
    windfarer  
       2015-12-22 19:48:02 +08:00 via Android
    session 的使用姿势不正确?
    Caratpine
        3
    Caratpine  
       2015-12-22 19:54:09 +08:00
    支持一下,网页没打开
    donghouhe
        4
    donghouhe  
    OP
       2015-12-22 20:04:18 +08:00
    已重新运行,现在能打开了
    donghouhe
        5
    donghouhe  
    OP
       2015-12-22 20:08:22 +08:00
    @donghouhe 已在 80 端口用 gunicorn 跑了一个,功能不能彻底正常,但能打开了。地址 http://115.28.200.89/ 欢迎前辈们试一下小菜我写的 quiz
    8cbx
        6
    8cbx  
       2015-12-22 20:12:56 +08:00
    貌似单选题做成了多选题……
    nareix
        7
    nareix  
       2015-12-22 21:51:30 +08:00
    支持! lz 头像是 scut ?
    phithon
        8
    phithon  
       2015-12-22 22:16:19 +08:00
    session 换成 redis 的就好了
    donghouhe
        9
    donghouhe  
    OP
       2015-12-22 22:52:45 +08:00
    @nareix 不系,是高中
    donghouhe
        10
    donghouhe  
    OP
       2015-12-22 22:53:38 +08:00
    @phithon phithon 牛,这的 session 是 flask 的 session ,用不上 redis
    phithon
        11
    phithon  
       2015-12-23 01:35:02 +08:00
    @donghouhe 我意思是可以用 redis 做 session ,不用它自带的。用不上不等于不能用,是吧?
    另外,即使用 gunicorn ,也不会出现你担心的现象。不知道你读过 flask 源码没, flask 的 session 是 SecureCookieSessionInterface 类处理:
    https://github.com/mitsuhiko/flask/blob/84a12afd4dff0c58aceb34c7fc93e3eedbe5005f/flask/sessions.py#L290
    实际上是什么,是将数据字符串化(默认方法是 json )以后,签名再 base64 ,存入 cookie 中。
    并非你想象中的存入内存。
    所以你完全不必担心多进程会导致他们有不同的 session , session 只与你 http 请求中的 cookie 内保存的值有关。
    至于默认 session 保存的时间,你可以在这里查看:
    https://github.com/mitsuhiko/flask/blob/915d34444b2a1be982940e6f3c91576adc8aa57f/flask/app.py#L291
    其中:
    'PERMANENT_SESSION_LIFETIME': timedelta(days=31),
    很明显,默认的 session 保存 31 天。
    比如我这个站: http://wiki.leavesongs.com/ 就是纯 falsk 自带 session ,不存在任何问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:27 · PVG 18:27 · LAX 02:27 · JFK 05:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.