django - 使用 Django 创建可编辑的 HTML 表格

标签 django django-forms

我正在尝试创建一个 Django 应用程序,用户可以在其中制作电影列表。每次用户登录时,他们的电影列表都会以表格的形式呈现给他们。该表将包含三列:一列用于电影名称,一列用于类型,另一列包含删除按钮,允许用户删除与该按钮对应的行。用户可以通过在文本框中填写电影名称并从下拉菜单中选择类型,然后按下“添加”按钮来向表中添加行。 “添加”和“删除”按钮是用户编辑表格的唯一方式。

是否有任何 Django 快捷方式来创建这样一个可编辑的表格?我认为这可能适合表单集,但我不知道该怎么做。此外,由于结果似乎与数据库表有关,因此很难在 google 上搜索“Django 表”。

这是我目前尝试使用的模型:

class MovieList(models.Model):
    user = models.ForeignKey(User)
    movie = models.ForeignKey(Movie)

class Movie(models.Model):
    genre = models.ForeignKey(Genre)
    name = models.CharField(max_length=300)

class Genre(models.Model):
    name = models.CharField(max_length=200)

任何帮助将不胜感激。

最佳答案

有几种方法可以解决这个问题。虽然它并没有真正使用快捷方式,但我看不出通过标准 View 呈现表格有什么问题,并附上用于输入新条目的表单。

如果您正在寻找快捷方式和一些额外的便利 django-tables可能适合你。

当然,您可以使用 jQuery 使该过程更加动态,以便人们可以在不重新加载整个页面的情况下添加和删除项目:类似于 Django 的 dynamic inlines在管理员中。如果您决定走这条路线,您应该仔细查看 django-dynamic-formsets或在 jQuery 的几个网格插件之一。 jqGrid命名一个。

关于django - 使用 Django 创建可编辑的 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037532/

相关文章:

python - Django:如何检查字段小部件是否是模板中的复选框?

django - 包括显示表单的模板

python - Django:使用 LayerMapping 更新现有模型?

Django Celery Task 不执行 .delay

python - Django - 延迟创建数据库条目

python - 如何为管理站点创建自定义清理方法?

jquery - Django Rest Framework CSRF token 失败

jQuery Mobile 不加载新页面脚本

python - Heroku 停留在 Building Source for Django app

python - 如何允许使用 UserChangeForm Django 编辑我的扩展 UserProfile?