Python中文
首页
教程
问答
标签
搜索
登录
注册
Django |一页上有多个表单,其中按钮被按下
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在锁定期间开始编码,所以我是一个新手,我所做的可能是一个丑陋的怪物,所以要小心。任何帮助都会被感激,因为谷歌在我需要的时候抛弃了我</p> <p>我在引导模式中添加了一个表单,可以是电影/电视/书籍。我的问题是它总是认为它是电视。当它有3个不同的URL和3个独立的POST请求时,这一切都起作用了,但我想感受一下</p> <p>我试着用3个按钮告诉它,它的“区域类型”使用的是按钮名和帖子</p> <pre class="lang-html prettyprint-override"><code><div class="btn-group mr-2" role="group" aria-label="second group"> <div class="dropright"> <a class="btn btn-primary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Add Items </a> <div class="dropdown-menu" aria-labelledby="dropdownMenuLink"> <a class="dropdown-item" data-toggle="modal" data-target="#exampleModal" name="Film">Add Film</a> </form> <a class="dropdown-item" data-toggle="modal" data-target="#exampleModal" name="TV">Add TV</a> <a class="dropdown-item" data-toggle="modal" data-target="#exampleModal" name="Book">Add Book</a> </div> </div> </div> <div class="form-group"> <form action="/{{franchises_details.franchise_slug}}/{{area|lower}}" method="POST" enctype="multipart/form-data"> <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> {% csrf_token %} {{franchises_details.franchies_name}}: {{area}} {{form.name}} {% if not area == "Film" %} Number of Ep:{{form.number_of_episodes}} {% endif %} <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <input type="submit" class="btn btn-primary" value="Film" name="Film"/> </div> </div> </div> </div> </div> </form> </div> </code></pre> <p>我在get请求中将它设置为“TV”(只是因为当我将它留空时它掉了下来),我认为这是我问题的第一部分。在post请求中,我检查按钮名称</p> <pre class="lang-py prettyprint-override"><code>def franchise_details(request,franchise_slug): franchises_details = Franchise.objects.get(franchise_slug=franchise_slug) form_type = forms.CreateFranchiseItemEp if request.method == 'POST': if "Film" in request.POST: area = "Film" form_type = forms.CreateFranchiseItemNoEp if "TV" in request.POST: area = "TV" form_type = forms.CreateFranchiseItemEp if "Book" in request.POST: area = "Book" form_type = forms.CreateFranchiseItemNoEp form = form_type(request.POST) if form.is_valid(): form_instance = form.save(commit=False) form_instance.author = request.user form_instance.franchies_name_id = franchises_details.id form_instance.area_type = area if area == "Film": form_instance.number_of_episodes = 0 if area == "Book": form_instance.number_of_episodes = 0 form_instance.all_user_average = 0 form_instance.save() return redirect('/' + franchises_details.franchise_slug) else: form = form_type() area = "TV" return render(request, 'franchises_details.html', {'franchises_details': franchises_details, 'franchises_user': franchises_user, 'franchise_items_films':franchise_items_films, 'franchise_items_tvs':franchise_items_tvs,'franchise_item_users_film':franchise_item_users_film,'franchise_item_users_tv':franchise_item_users_tv, 'form':form,'area':area}) </code></pre> <p>这里通常会有更多的内容,但我删除了这个问题,因为它有点忙,我认为这是唯一相关的部分</p> <p>在我看来,我的“如果”电影/电视/书的请求。帖子:“什么都不做。问题是这是<a href="https://stackoverflow.com/questions/21505255/identify-which-submit-button-was-clicked-in-django-form-submit/21505314">what the intent is suggesting I do</a>。我把它搞砸了,或者它不再是一件事了,但我在这个阶段完全迷失了方向</p> <p>tl;医生,我按的是哪个按钮?我按下电影按钮,它以为是电视。它作为单独的URL使用相同的变量</p> <p>正如我所说的,任何帮助都将是令人惊奇的,因为我大部分都是靠一半的知识和复制粘贴工作</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>好吧,原来我是个白痴。我一直在旧的URL上运行这个代码,这是为电视设置的</p> <p>此外,按钮的名称是电影,所以我需要一个按钮,每次提交,但它现在的工作</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
4 回答
我想从用户导入值,为此
8 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
7 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
3 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
10 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
10 回答
我想从第一个空lin开始解析文本文件
9 回答
我想从简历、简历中提取特定部分
3 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
8 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
5 回答
我想从网上搜集一些关于抵押贷款的数据
9 回答
我想从网站上删除电子邮件地址
4 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
6 回答
我想从网站中提取数据,然后将其显示在我的网页上
5 回答
我想从网页上提取统计数据。
3 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
7 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
9 回答
我想从课堂上打印字典里的键
1 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
6 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
2 回答