首页>>后端>>Python->django用什么实现动态部分(django动态刷新)

django用什么实现动态部分(django动态刷新)

时间:2023-12-01 本站 点击:0

今天首席CTO笔记来给各位分享关于django用什么实现动态部分的相关内容,其中也会对django动态刷新进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、django中怎么动态操作数据库字段?2、我是怎么做到使用django动态定义表单的3、请教朋友们,django如何动态改变ImageField,FileField的upload

django中怎么动态操作数据库字段?

django的ORM系统不支持修改删除字段的操作,也就是说你在写模型model文件的时候,比如说定义了这个user表,然后包含字段telphone定义,你一旦执行了manage.py syncdb 这个操作,就把表结构往数据库写死了,如果你之是删除了model文件的telphone,数据库是不被重新修改的。这个时候必须用原生SQL解决,也就是说自己写SQL语句让django执行,这样的话会出很多问题,也就是说你执行了alter table users drop column telphone之后,你的model文件不知道你已经对users表结构做了修改,这样会出直接导致django应用的崩溃。所以动态字段不好做。也可能是我才疏学浅,没太理解,也许有高人能做到。不过面对ORM这样的尽量别删除字段。

我是怎么做到使用django动态定义表单的

有两种方法。 一、自己手动写 html 模板中的 在views 中,将所需要的数据传递过去,比如 names_list = [1, 2, 3, 4] 在 html 中 {% for x in name_list %} {{ x }} {% endfor %} 二、使用 Form 自动生成表单 这就需要在 views 中 动态初始化表单.

请教朋友们,django如何动态改变ImageField,FileField的upload

upload_to配置

 可以指定一个固定的路径,upload_to=' app-name'

 可以指定一个strftime()格式化标签,Django会自动处理成指定格式的日期字符串,如:

file = models.FileField(upload_to="photos/%Y/%m/%d")

则文件存储的时候,会在photos文件夹下,再建立一个文件夹,以年月日命名。

 可以指定一个函数,动态生成存放路径,方法如下,

class TrainingAttachment(models.Model):

def upload_to(instance, filename):

return '/'.join(['training', instance.subject.name, filename])

subject = models.ForeignKey(TrainingSubject)

file = models.FileField(upload_to=upload_to)

file_name = models.CharField(max_length=255, default='Attachment')

上面代码实现了附件存放到以TrainingSubject.name为目录的路径下。

 可以在上传文件的views处理函数内指定upload_to存放地址

重载通用视图的form_valid方法,重新指定Model的FileField字段的upload_to路径:

def form_valid(self, form):

# 重新指定存放路径

Attachment._meta.get_field('file').upload_to = 'training/'+self.kwargs['subject_pk']

return super(AttachmentCreateView, self).form_valid(form)

结语:以上就是首席CTO笔记为大家介绍的关于django用什么实现动态部分和django动态刷新的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/5613.html