精华内容
下载资源
问答
  • Django做了评论功能 //前端 html <form class="form" action="{{ resume.get_comment_url }}" method="post"> ..... </form> //views.py ..... entry = Resume.objects.get(id=pk) form = Comment.....

    用Django做了评论功能

    //前端 html
    <form class="form" action="{{ resume.get_comment_url }}" method="post">
    .....
    </form>
    
    //views.py
    .....
    entry = Resume.objects.get(id=pk)
                form = CommentForm(data=request.POST)
                if form.is_valid():
                    new_comment = form.save(commit=False)
                    new_comment.entry = entry
                    new_comment.author = request.user
                    new_comment.save()
    return render(request, 'recommendation/detail.html', context={'resume': entry, })
    .....

    如果在views render的话 页面刷新,可以看到新增的评论。

    但是再F5 刷新,会提示表单重复提交

    改用HttpResponseRedirect进行跳转

    Resume model下

        def get_absolute_url(self):
            return reverse('recommendation:resume', kwargs={'pk': self.pk})
    

    views.py中改为

    return HttpResponseRedirect(entry.get_absolute_url())

    转载于:https://www.cnblogs.com/hehecat/p/8919454.html

    展开全文
  • 2. 问题一:用户登录后,刷新登陆后的页面(如首页)时会出现表单重复提交问题,此时csrf-token会报错并重定向到登录页面:  解决方案一:在登录时使用页面重定向请求首页(暂时先用这个)  解决方案二:待查找...

    1. 先记录一些正常情况:在填写表单页面(如注册、登录页面)时刷新页面时数据清空是正常的,此时就是重新发送了一个页面请求。

    2. 问题一:用户登录后,刷新登陆后的页面(如首页)时会出现表单重复提交问题,此时csrf-token会报错并重定向到登录页面:

      解决方案一:在登录时使用页面重定向请求首页(暂时先用这个)

      解决方案二:待查找……

    转载于:https://www.cnblogs.com/johnyhe/p/10579023.html

    展开全文
  • 思路: GET访问时,服务器返回页面,同时生成认证token,保存入session POST访问时,校验客户端的token与session中...import uuidfrom django.http import HttpResponsefrom django.shortcuts import render,render...

    思路:
            GET访问时,服务器返回页面,同时生成认证token,保存入session

           POST访问时,校验客户端的token与session中保存的token是否一致

    具体代码:

    import uuid

    from django.http import HttpResponse
    from django.shortcuts import render,render_to_response

    from DataAccess.Supplier import supplier_DAC
    from common import utils
    from common.Supplier import urlconfig
    from Supplier.supperForm import SupplierForm
    # Create your views here.
    def index(request):
    supplier_table_data=supplier_DAC.getAllSupplierInfo()
    page_id=''
    if utils.Is_GET(request):
    page_id=str(uuid.uuid4())
    request.session["pageid"]=page_id
    return render_to_response(urlconfig.index,{'form':SupplierForm(),'data':supplier_table_data,'pageId':page_id})
    elif utils.Is_POST(request):
    if utils.GetData(request,'hid')==request.session["pageid"]:
    form_p=SupplierForm(request.POST)
    if SupplierForm.is_valid:
    form_p.save()
    page_id=str(uuid.uuid4())
    request.session["pageid"]=page_id
    return render_to_response(urlconfig.index,{'form':SupplierForm(),'data':supplier_table_data,'pageId':page_id})
    else:
    page_id=str(uuid.uuid4())
    request.session["pageid"]=page_id
    return render_to_response(urlconfig.index,{'form':SupplierForm(),'data':supplier_table_data,'pageId':page_id})
    return render_to_response(urlconfig.index,{'form':SupplierForm(),'data':supplier_table_data,'pageId':page_id})

    有其它思路实现的请多多请教

    转载于:https://www.cnblogs.com/lijintian/p/6118574.html

    展开全文
  • 写的个人博客中加了一个自己写的评论框,但是每次提交内容,刷新后,评论框中的文字还存在,而且一旦刷新就会再提交多一次,这个实在令人恼火。 搞了一整天之后,结合网上找的资料,试了一种办法终于解决了,下面...

          写的个人博客中加了一个自己写的评论框,但是每次提交内容,刷新后,评论框中的文字还存在,而且一旦刷新就会再提交多一次,这个实在令人恼火。

    搞了一整天之后,结合网上找的资料,试了一种办法终于解决了,下面记录一下:

    views.py的函数是这样的

     1 def get_detail(request):
     2     try:
     3         blogs = Blog.objects.all()
     4         comments = Comment.objects.all()
     5     except Blog.DoesNotExist:
     6         raise Http404
     7 
    9 8 if request.method == 'POST': 11 form = CommentForm(request.POST) 12 print "form:",form 13 if form.is_valid(): 14 print "form.clean():",form.clean() 15 cleaned_data = form.cleaned_data 16 print "type(cleaned_data):",type(cleaned_data) 17 print "cleaned_data['content']:",cleaned_data['content'] 18 19 Comment.objects.create(**cleaned_data) 20 #ctx = { 21 #'blogs':blogs, 22 #'comments':comments, 23 #'form': form 24 #} 25 return HttpResponseRedirect(reverse('blog_get_detail')) #这个函数式关键,跳转回原来的页面,'blog_get_detail'是urls.py中的一条路由 26 27 28 29 else: 30 form = CommentForm() 31 print "form in the GET:",form 32 33 ctx = { 34 'blogs':blogs, 35 'comments':comments, 36 'form': form 37 } 38 39 return render(request,'blog_detail.html',ctx)
    urls.py文件的函数是这样的
    1 urlpatterns = [
    2     url(r'^admin/', admin.site.urls),
    3     url(r'^$',blog_views.get_blogs,name="get_blogs"),
    4     url(r'^blog/$',blog_views.get_detail,name='blog_get_detail'),    #与views.py中提到的HttpResponseRedirect()函数相对应
    5     url(r'^photos/$',blog_views.get_photos,name='get_photos'),
    6     url(r'^ueditor/', include(DjangoUeditor_urls)),
    7 ]

    所以,由上面的逻辑关系可以看出

    (1)当提交表单内容后,函数会走到return HttpResponseRedirect(reverse('blog_get_detail')) 

    (2)页面会刷新一遍,又重新跳转到def get_detail(request)函数,会走到return render(request,'blog_detail.html',ctx),即原来的页面,但是评论框的文字已经没了,这样就能达到想要的效果

    转载于:https://www.cnblogs.com/lijimmy/p/6274985.html

    展开全文
  • formset_factory 官方文档:...Step1 写个自定义表单 Step2forms.formset_factory(ReceiptForm, extra=1)注册 class ReceiptForm(forms.Form): invoice_...
  • Django框架开发中避免表单重复提交

    千次阅读 2018-09-08 17:35:34
    Form表单做为web2.0时代的重要角色,也是我们与web网站进行数据交互的重要渠道,但是大家在web网站开发过程中,都会遇到一个问题,那就是如何避免表单重复提交,我们可不确定用户可在提交了一个表单后,是否有足够的...
  • Step 1:首先我们在进入表单填写页面时,对该页面(或view吧)随机生成一个校验字符串并存放于Session中,在页面form中新增一个hidden input来存放,以便提交时一起POST到服务器端; Step 2:当POST时,服务器...
  • 网上根据session给方法结局方案: Step 1:首先我们在进入表单填写页面时,对该页面(或view吧)随机生成一个校验字符串并存放于Session中,在页面form中新增一个hidden input来存放,以便提交时一起POST到服务器端...
  • 用例中不可出现重复的记录,如:下订单,用户填好表单然后Submit,当用户网速较慢时,很可能会习惯性的刷新当前页,而刷新操作会导致再次POST,此时若不加判断直接入库必然导致用户后台增加N个订单。 解决思路: ...
  • 我的用例中不可出现重复的记录,如:下订单,用户填好表单然后Submit,当用户网速较慢时,很可能会习惯性的刷新当前页,而刷新操作会导致再次POST,此时若不加判断直接入库必然导致用户后台增加N个订单。...
  •  我的用例中不可出现重复的记录,如:下订单,用户填好表单然后Submit,当用户网速较慢时,很可能会习惯性的刷新当前页,而刷新操作会导致再次POST,此时若不加判断直接入库必然导致用户后台增加N个订单。...
  • 写了个简单的from表单登陆跳转,提交之后登陆页面的路径重复报错404, 1.1)urls: ``` from django.contrib import admin from django.urls import path ,re_path from app01 import views urlpatterns = ...
  • 要解决重复提交,有很多办法,比如说在提交完成后redirect一下,也可以用本文提到的使用token的方法(我不使用redirect是因为那样解决不了ajax提交数据或者移动应用提交数据,另一个原因是现在比较通行的方法是使用...
  • django批量form表单处理

    2019-10-03 22:25:51
     一般在表单信息录入中,如果存在许多重复提交的信息,我们就需要进行批量处理,比如学生信息的批量录入。  这里一种方式就是使用xlrd模块处理,把学生信息录入到系统内  另外一种方式就是采用我们from组件中...
  • django的form组件可以减少后台在进行一些重复性的验证工作,极大降低开发效率。 最近遇到一个问题:  当使用form表单提交数据后,如果数据格式不符合后台定义的规则,需要重新在前端页面填写数据。 分析问题: ...
  • Form表单做为web2.0时代的重要角色,也是我们与web网站进行数据交互的重要渠道,但是大家在web网站开发过程中,都会遇到一个问题,那就是如何避免表单重复提交,我们可不确定用户可在提交了一个表单后,是否有足够的...
  • Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,...对于表单验证,告别书写重复的正则表达式对用户提交的数据进行验证的工作,从此解放双手,跟着我左手右手一个慢动作... 对于生成HTML标签,不...
  • Django 请求

    2020-11-13 10:40:34
    action 表单数据提交到的路径 method 提交的方式 enctype 提交数据的类型,针对文件(图片) name 所有表单元素的单词。 请求方式 POST GET PUT DELETE OPTION 请求状态码 200 300 400 500 ajax 上述知识点属于前端...
  • 最近写的资源策略管理,在ceilometer 中创建alarm时,name要求是不能重复的,所以在创建policy的时候,要对policy的name字段进行验证,而django中正好拥有强大的表单数据验证的功能。 #这是policy中的name字段,在...
  • django2

    2018-03-30 17:44:09
    地址没有改变重定向:一次以上的请求,不能带参数到页面刷新页面不重复提交表单用重定向解决return render 返回一个新页面return redirect 返回一个新页面return HttpResponse 返回在本页.objects.get或者filter get...
  • 最近写的资源策略管理,在ceilometer 中创建alarm时,name要求是不能重复的,所以在创建policy的时候,要对policy的name字段进行验证,而django中正好拥有强大的表单数据验证的功能。 #这是policy中的name字段,在...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

django重复提交表单