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。。。除此之外,我看不出有什么问题。经典的邮政方式已经运行了很多年: