使用Django创建可编辑的HTML表

时间:2011-05-17 21:46:07

标签: django django-forms

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

是否有任何Django快捷方式来创建这样一个可编辑的表?我认为这可能是适合formset的东西,但我无法弄清楚如何做到这一点。此外,谷歌“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)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。虽然它并没有真正使用快捷方式,但我无法看到通过标准视图呈现表格并附加表单以输入新条目的错误。

如果您正在寻找快捷方式,可能会有一些额外的便利django-tables

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