Python 在django发布。用户如何更新?
我对django是一个全新的人,对编程一般来说是相当陌生的。我已经完成了django教程并在网上搜索了这个问题的答案,但是没有结果,所以现在我在这里。我对post如何与django一起工作感到困惑。我看过的所有教程都介绍了如何在显示网页的视图中使用返回函数。我明白了。但是,如果页面是从返回语句呈现的,那么用户如何更新数据呢?返回后,由于函数停止,不能再进行更新,对吗?我错过了什么?任何帮助都将不胜感激,我在这里变得相当绝望 用户在Python 在django发布。用户如何更新?,python,django,post,Python,Django,Post,我对django是一个全新的人,对编程一般来说是相当陌生的。我已经完成了django教程并在网上搜索了这个问题的答案,但是没有结果,所以现在我在这里。我对post如何与django一起工作感到困惑。我看过的所有教程都介绍了如何在显示网页的视图中使用返回函数。我明白了。但是,如果页面是从返回语句呈现的,那么用户如何更新数据呢?返回后,由于函数停止,不能再进行更新,对吗?我错过了什么?任何帮助都将不胜感激,我在这里变得相当绝望 用户在视图功能的逻辑中更新数据。也就是说,如果用户希望更新某些内容,则将
视图
功能的逻辑中更新数据。也就是说,如果用户希望更新某些内容,则将更新逻辑放在视图
函数的返回
之前。例如,您可以执行以下操作:
def update(request):
item = <some model>.objects.get(<something>)
<more code>
return <something>
def更新(请求):
item=.objects.get()
返回
通常,“编辑视图”功能包含两部分——一部分用于更新数据,另一部分用于显示更新表单。比如说,
def user_edit(request):
if request.method == 'POST': # is this a save action?
# save the user data
user_id = request.POST.get('user_id')
username = request.POST.get('username')
description = request.POST.get('description')
user = User.objects.get(id=user_id)
user.username = username
user.description = description
user.save()
return HttpResponseRedirect('/user/') # redirect to index
else:
# show the edit form
user_id = request.GET.get('user_id')
user = User.object.get(id=user_id)
return render_to_response('/user/edit.html', { 'user': user })
if request.method='POST'行有许多不同的选择。您还可以使用
if request.POST.get('user_id')
检查是否设置了指定的字段,以确定这是否是一个保存操作。Django视图的一种模式(决不是唯一的模式)是检查视图开头的请求方法(get或POST)。如果是POST,则处理传入数据(在视图返回之前),然后返回渲染模板或重定向
def view_function(request):
if request.method == 'POST':
if data_is_valid(request.POST):
save_data(request.POST)
return HttpResponseRedirect('/somewhere/good')
else:
return render('template', {'errors': what_went_wrong}
else:
return render('template')
在教程中,你不保存帖子吗?他有一个例子。