背景
网站用django搭建起来,以前凡是遇到编辑文章的时候都是登录后台进行编辑,虽然是勉强能实现,但是有点不方便,另外基于后面考虑想把网站转成社区形式,需要涉及到版主编辑相关帖子的问题,有必要在前台进行相关的编辑操作。
网上找了比较多的资料,没有比较好的支持,折腾了一晚上,总算结合资料和手动调试找到了一个相对来说稍显笨的方法,调试了一下,基本没问题,记个笔记方便后期查找资料。
笔记
首先的问题是传参的问题,Google了一下资料,发现相关的资料基本上都会介绍’initial’这个东西,网上的资料处理这个传参的问题相当简单,基本上就是一句话的事情,要命的是我在具体操作的时候,总会报错查找了大量的资料,折腾了一晚上依旧没有解决。
后来想了一下,无外乎是form和数据互动的问题,资料上是一句话传过去,但是实际操作过程中,发现一句话搞的话,其中一个对象没有具体的’get’方法,这样就报错,既然这个是这个问题,我能不能单独先拿到具体的数据,然后再和form互动:
先在’view’中处理相关的数据,然后把数据作为’常量’交给form进行处理,结果OK!
虽然是个笨办法,但是从解决问题的角度来看先解决了,后面如果出现其他异常再修补,但是感觉也没啥异常,业务单一,最多估摸就是优雅不优雅的问题。
这里还有一个问题关于的问题,数据库中标签是M2M存放的,前台展示的是字符串形式,需要现在’view’中拿到相关的数据,然后组装成字符串类型。django查询数据得到的结果的’QuerySet’,需要先将其转换为list,然后再转换为str,期间有个unicode的问题,需要注意。
另外就是select选项的问题,这个不能给object,需要给相应的值,就是上面代码中的,以上就是关于form表单和前端的问题,后面保存数据方面比较简单,毕竟以前做过相关的post数据的东西。
领取专属 10元无门槛券
私享最新 技术干货