小菜我写了个 quiz 类 web 站,望前辈们鼓励点 star - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
donghouhe
V2EX    程序员

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

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

    地址 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
    yolan
        1
    yolan  
       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     Solana     912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:52 PVG 02:52 LAX 11:52 JFK 14:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86