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

关于博客中草稿箱的实现:页面表单通过 ajax 提交数据到后台服务器,多次保存,后台怎样识别是同一篇文章的草稿?如果不能识别的话岂不是每次保存都会创建新的草稿?

  •  
  •   luoluohang · 2017-01-24 14:32:29 +08:00 · 3379 次点击
    这是一个创建于 2853 天前的主题,其中的信息可能已经有所发展或是发生改变。
    22 条回复    2017-01-27 09:02:03 +08:00
    knightdf
        1
    knightdf  
       2017-01-24 14:43:23 +08:00
    你文章没 ID 的?
    yimity
        2
    yimity  
       2017-01-24 15:22:17 +08:00
    简单点的做法是,第一次草稿保存之后,调到编辑页面。
    稍微复杂一点点的做法是。第一次保存之后,记下 id ,然后再次保存的时候带上这个 id 。好处是不用跳转到编辑页面了
    wy315700
        3
    wy315700  
       2017-01-24 15:28:07 +08:00
    wordpress 确实是每次都会创建一个新的草稿
    jaurung
        4
    jaurung  
       2017-01-24 15:33:05 +08:00
    对正文算下 md5 ?
    sorra
        5
    sorra  
       2017-01-24 16:00:36 +08:00
    草稿也有 id 啊, Ajax 返回草稿 id ,下次保存就用这个 id 。
    ryd994
        6
    ryd994  
       2017-01-24 16:08:53 +08:00 via Android
    用 UUID 的话都不需要等 Ajax 返回 ID
    直接生成一个反正撞不上
    hoythan
        7
    hoythan  
       2017-01-24 16:31:45 +08:00
    wordpress 的自动保存相当于每次创建新的文章,只不过状态标记为草稿,并且指向第一个文章的 ID. 这样第一篇文章就可以随时找到所有草稿,草稿因为有状态标记也可以随时选择清理.
    jininij
        8
    jininij  
       2017-01-24 17:46:01 +08:00 via Android
    当用户点新建文章的时候,后台已经有了一个无内容,未发布的文章了。然后 302 到这篇文章的编辑页面。
    luoluohang
        9
    luoluohang  
    OP
       2017-01-24 18:16:12 +08:00
    @jininij 这个解决方案很棒,在请求编辑页面的时候生成文章对象,谢啦
    luoluohang
        10
    luoluohang  
    OP
       2017-01-24 18:37:32 +08:00
    @yimity 嗯嗯,谢谢
    jugelizi
        11
    jugelizi  
       2017-01-24 21:26:13 +08:00
    其实可以用浏览器的 localstorage 实现
    HLT
        12
    HLT  
       2017-01-24 21:28:08 +08:00
    wp 都没用过吗?问这样的问题
    cxbig
        13
    cxbig  
       2017-01-24 21:49:39 +08:00
    “草稿”只是文章的一个状态
    第一次保存就可以取得 ID ,可以在后续编辑中使用
    前端只显示状态切换到“发布”的文章即可
    yimity
        14
    yimity  
       2017-01-25 10:03:29 +08:00
    @jininij 如果用户不保存呢?日积月累这些垃圾信息咋删除?
    如果自动删除,那如果用户只是想保存个草稿呢,怎么区分用户想要的草稿和废弃的草稿?
    bombless
        15
    bombless  
       2017-01-25 10:57:55 +08:00 via Android
    草稿也可以编 id
    基本上你草稿的 id 和文章的 id 是独立的。
    luoluohang
        16
    luoluohang  
    OP
       2017-01-25 11:09:21 +08:00
    @bombless 嗯嗯,谢谢
    lslqtz
        17
    lslqtz  
       2017-01-26 10:21:10 +08:00 via iPhone
    不是应该客户端伐 localStorage ?
    KIDJourney
        18
    KIDJourney  
       2017-01-26 13:51:36 +08:00 via Android
    @HLT 没用过咋了。
    wp 又不是必需品。
    msg7086
        19
    msg7086  
       2017-01-26 15:54:18 +08:00
    @yimity 参考 Gmail 发件箱的做法咯。
    HLT
        20
    HLT  
       2017-01-26 18:19:39 +08:00 via iPhone
    @KIDJourney 是让你参考做法…… zz
    yimity
        21
    yimity  
       2017-01-26 23:02:14 +08:00
    @msg7086 怎么个做法?
    lslqtz
        22
    lslqtz  
       2017-01-27 09:02:03 +08:00 via iPhone
    补充: sessionstorage 也不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 09:31 · PVG 17:31 · LAX 01:31 · JFK 04:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.