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

Django 求带

  •  1
     
  •   sudo987 · 2016-05-12 10:16:32 +08:00 via iPhone · 3695 次点击
    这是一个创建于 3123 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在学 django ,有一起的么?加个微信,大家可以一起讨论 iNeoWong
    20 条回复    2016-05-12 21:33:24 +08:00
    geek123
        1
    geek123  
       2016-05-12 10:21:01 +08:00
    推荐我们网站的 django 视图和路由课程,保证有收获。

    http://www.hubwiz.com/course/562efe441bc20c980538e801/
    iiduce
        2
    iiduce  
       2016-05-12 10:59:48 +08:00
    Django 真没什么可带的,官方文档写的太好太详细,看一遍,写个博客程序,就入门了。

    剩下的的就是了解你需要的各种中间件、插件的使用,用哪个学哪个,基本都是看官方文档就可以了。
    DearMark
        3
    DearMark  
       2016-05-12 11:22:45 +08:00   ❤️ 1
    @geek123 问一下, Flask 教程里的代码在线编辑运行、命令行输出是如何实现的。
    sudo987
        4
    sudo987  
    OP
       2016-05-12 11:43:30 +08:00 via iPhone
    @iiduce 多谢回复。
    sudo987
        5
    sudo987  
    OP
       2016-05-12 11:49:18 +08:00 via iPhone
    @iiduce 请问 F()解决 race condition 是怎么个原理,官方教程说的是在 save 之前总会用的是数据库的值而不是本地取下来的值,看源码也没太看明白。
    virusdefender
        6
    virusdefender  
       2016-05-12 12:16:39 +08:00 via Android
    @sudo987 save 会更新所有字段,这时候数据库可能已经变了,看 https://virusdefender.net/index.php/archives/276/
    sudo987
        7
    sudo987  
    OP
       2016-05-12 12:42:57 +08:00 via iPhone
    @virusdefender
    UPDATE `account_user` SET `age` = (`account_user`.`age` - 100) WHERE `account_user`.`id` = 8000
    问题在这儿, F 完成的是更新数据之前总会取数据库最新的值,但是如果在 account_user.user 获取之后数据库发生改变,那岂不是又发生 race condition 了么?
    neoblackcap
        8
    neoblackcap  
       2016-05-12 13:20:45 +08:00   ❤️ 1
    @sudo987 你看到是这样,但是底层的 InnoDB 引擎已经将你要修改的 row 隐式加了锁了,自然就解决了 data race 了
    sudo987
        9
    sudo987  
    OP
       2016-05-12 13:30:38 +08:00 via iPhone
    @neoblackcap 给力!在哪里可以看见代码?
    neoblackcap
        10
    neoblackcap  
       2016-05-12 13:37:49 +08:00   ❤️ 1
    @sudo987 你看 MySQL 的文档就知道了,而且 @virusdefender 的文章不是说了吗?是当你选中主键的时候才会是这样,而且要加事务。
    我是不建议大家写这样的代码,要加锁的话就显式加上就好了,维护者会更加明确。毕竟这样的隐式加锁依赖于数据库的实现,不同数据库有不同的表现,不同存储引擎也有不同的表现。
    sudo987
        11
    sudo987  
    OP
       2016-05-12 14:48:56 +08:00 via iPhone
    @neoblackcap 谢谢。
    geek123
        12
    geek123  
       2016-05-12 15:07:03 +08:00
    @DearMark 这个能不说么?
    lyhapple
        13
    lyhapple  
       2016-05-12 16:25:12 +08:00
    这世道,没票子,谁带你哦,哈哈,自学成材吧
    wenbinwu
        14
    wenbinwu  
       2016-05-12 16:29:10 +08:00
    看源码,没那么难
    qile1
        15
    qile1  
       2016-05-12 18:21:05 +08:00 via Android
    qq 比较合适吧,微信发个文件,电脑操作太难, djanjo 是那个各种模块都弄好的,还是 flsk 有都现成,准备学 djaonj ,用 flsk 写个小程序,没错,先用 fksk 先 dns 更新,然后在用 djanjo 开发,一起开发个项目,有钱分可以不?我 QQ14 九零二一唔医二
    coolair
        16
    coolair  
       2016-05-12 18:23:23 +08:00 via Android
    @qile1 这是啥?全是错别字
    zhaojames077
        17
    zhaojames077  
       2016-05-12 18:41:29 +08:00
    @qile1 这回复看醉了。。。
    smallerpig
        18
    smallerpig  
       2016-05-12 21:20:23 +08:00
    @sudo987 关于 F()函数我也分享过
    http://www.smallerpig.com/992.html
    qile1
        19
    qile1  
       2016-05-12 21:21:48 +08:00 via Android
    qq 比较合适吧,微信发个文件,电脑接收操作不方便,截图什么的我也没用过, django 是那个各种模块都弄好现成能用的,还是 flask 有都现成,准备学 django ,我 QQ14 九零二一唔医二
    ayaseangle
        20
    ayaseangle  
       2016-05-12 21:33:24 +08:00 via Android
    酱狗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5813 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:50 · PVG 10:50 · LAX 18:50 · JFK 21:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.