Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django URL设计,用于向模型实例发布更新_Django_Django Views_Django Urls - Fatal编程技术网

Django URL设计,用于向模型实例发布更新

Django URL设计,用于向模型实例发布更新,django,django-views,django-urls,Django,Django Views,Django Urls,假设我定义了以下模型: class Location(models.Model): name = models.CharField(max_length=20) longitude = models.CharField(max_length=30) latitude = models.CharField(max_length=30) 还有一个id为1的现有位置实例 我想发布此实例的更新,但我不确定如何将pk/id发送到服务器。我有两个想法 将其作为url的一部分包括在内

假设我定义了以下模型:

class Location(models.Model):
    name = models.CharField(max_length=20)
    longitude = models.CharField(max_length=30)
    latitude = models.CharField(max_length=30)
还有一个id为1的现有位置实例

我想发布此实例的更新,但我不确定如何将pk/id发送到服务器。我有两个想法

将其作为url的一部分包括在内,例如“^update\u location/?P[0-9]+/$”。 将其与更新其他属性的值一起包含在POST数据中。 我的问题是为什么我要选择一个而不是另一个


我更倾向于选项1,因为默认情况下,我使用的通用视图django.views.generic.edit.UpdateView支持它。但是我仍然不知道如何选择。

选项1使python更容易,因为反向将使URL变得很好


选项2使javascript更容易,因为它不必组成url和POST数据。

选项1使python更容易,因为反向将使url变得很好


选项2使javascript更容易,因为它不必组成url和POST数据。

我想说,您可以这样做:

url(r'^update_location/(?P<location_id>\d+)/$', 'location.views.update'),
关于表单处理,您可以查看:

我想说你可以这样做:

url(r'^update_location/(?P<location_id>\d+)/$', 'location.views.update'),
关于表单处理,您可以查看:

好的。但为什么这一种方法优于另一种方法呢?其他方法有什么问题吗?我想说这种django风格的方法会产生更干净的URL。。。除此之外,我看不出有什么问题。经典的POST方式已经运行了很多年:Ok。但为什么这一种方法优于另一种方法呢?其他方法有什么问题吗?我想说这种django风格的方法会产生更干净的URL。。。除此之外,我看不出有什么问题。经典的邮政方式已经运行了很多年: