说我定义了以下模型:
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发送到服务器。我有两个想法。
^update_location/(?P<pk>[0-9]+)/$'
)。我的问题是为什么我要选择其中一个呢?
我更倾向于选项1,因为默认情况下,它支持我正在使用的通用视图django.views.generic.edit.UpdateView
。但后来我还是不知道如何选择。
答案 0 :(得分:2)
选项1使python更容易,因为reverse()会使url正常。
选项2使javascript变得更容易,因为它不必构成url和POST数据。
答案 1 :(得分:2)
我会说你可以这样做:
url(r'^update_location/(?P<location_id>\d+)/$', 'location.views.update'),
然后在你看来:
def detail(request, location_id):
// do whatever needed with location_id object
location = Location.objects.get(id=location_id)
return HttpResponse("You're updating location %s." % location_id)
关于表单处理,您可以查看: https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs