Django &引用;返回该页面可能会导致您重复执行任何操作";-德扬戈

Django &引用;返回该页面可能会导致您重复执行任何操作";-德扬戈,django,django-models,django-database,Django,Django Models,Django Database,我的网站上有一个表单,可以在数据库中创建一个条目。因此,每次刷新页面时,我都会首先收到以下消息: The page that you're looking for used information that you entered. Returning to that page might cause any action you took to be repeated. Do you want to continue? 显然,我不想在我的数据库中多次出现相同的信息 以防万一:这是我的代码(我

我的网站上有一个表单,可以在数据库中创建一个条目。因此,每次刷新页面时,我都会首先收到以下消息:

The page that you're looking for used information that you entered.
Returning to that page might cause any action you took to be repeated.
Do you want to continue?
显然,我不想在我的数据库中多次出现相同的信息

以防万一:这是我的代码(我知道有很多废话需要删除):

#views.py
@需要登录
def主题(请求、用户名、主题名称):
subject\u id=Subjects.objects.filter(user=request.user.get)(name=subject\u name)
#上传表单
如果request.method==“POST”:
如果request.POST中的“upload-b”:
form=ContentForm(request.POST,request.FILES,instance=subject\u id)
如果form.is_valid():#需要添加一些干净的函数
up\u f=FileDescription.objects.get\u或\u create(subject=subject\u id,
主题名称=主题名称,
file\u type=request.POST['file\u type'],
文件上传人=用户名,
file\u name=request.POST['file\u name'],
file_description=request.POST['file_description'],
image=request.FILES['image'],
)
form=ContentForm()
#显示与单击的会话相关的上传文件(家庭作业、课堂、随机…)
家庭作业文件=家庭作业.家庭作业.过滤器(主题名称=主题名称,
文件\u由\u上传(精确=用户名)
class\u files=ClassPapers.ClassPapers.filter(subject\u name\uu exact=subject\u name)
random\u files=RandomPapers.RandomPapers.filter(主题名称\uuuu确切=主题名称,
文件\u由\u上传(精确=用户名)
返回render_to_response('subject_content.html',{'form':form,
“主题名称”:主题名称,
“类文件”:类文件,
“家庭作业文件”:家庭作业文件,
“类文件”:类文件,
“随机文件”:随机文件,
},
上下文\实例=请求上下文(请求))
#forms.py:
类ContentForm(forms.ModelForm):
文件名=forms.CharField(最大长度=255,小部件=forms.TextInput(attrs={'size':20}))
file_description=forms.CharField(widget=forms.Textarea(attrs={'rows':4,'cols':25}))
类元:
model=FileDescription
排除=('subject'、'subject\u name'、'file\u upload\u by')
#模板
上载文件
{%csrf_令牌%}
{{form.as_p}}

此消息来自浏览器;并且它将在您尝试刷新作为POST请求结果显示的页面时显示

它与您的代码无关,浏览器将在您尝试刷新页面(例如,点击F5)的所有网站上显示相同的消息,该页面是由于以前的POST请求而显示的


为了防止这种情况发生,请确保所有POST请求在完成后重定向到不同的视图;而不是呈现模板本身。

插入模板后,只需将页面重定向到当前页面即可 ,它将清除所有值并避免添加重复记录

例如:

protected void btnAdd_Click(object sender, EventArgs e)
{
 //your code 
 Response.Redirect("Currentpage.aspx",true);

 //or 
 Response.Redirect(Request.Url.AbsoluteUri);
}

重定向到为我工作的同一页面:

header("Location: #");

多谢各位。但是有什么方法可以避免它吗?是的,POST请求在完成后应该发出重定向,这将阻止显示此错误。还有另一种方法可以防止它:我得到错误
使用未定义的常量响应-假定的“响应”
,因为问题是针对Django的,而这个答案是针对…是针对.net的吗?
header("Location: #");