Python Django表单在提交后不重定向
所以我制作了一个表单,但在我点击提交按钮后,它根本没有重定向。我不知道表单是否真的提交了,因为在我点击submit之后,url只是添加了/submit,甚至没有重定向到正确的页面 以下是我的看法:Python Django表单在提交后不重定向,python,html,django,Python,Html,Django,所以我制作了一个表单,但在我点击提交按钮后,它根本没有重定向。我不知道表单是否真的提交了,因为在我点击submit之后,url只是添加了/submit,甚至没有重定向到正确的页面 以下是我的看法: def submit_company_profile(request): if request.session['status'] == "employer": form = CompanyProfileEdit(request.POST or None) if(request.m
def submit_company_profile(request):
if request.session['status'] == "employer":
form = CompanyProfileEdit(request.POST or None)
if(request.method == 'POST' and form.is_valid()):
company_creator_profile_id = request.session['profile_id']
country = request.POST.get('country', False)
province = request.POST.get('province', False)
city = request.POST.get('city', False)
company_name = request.POST.get('company_name', False)
company_description = request.POST.get('company_description', False)
company_website = request.POST.get('company_website', False)
company_logo = request.POST.get('company_logo', False)
query = Company.objects.filter(company_creator_profile_id=request.session['profile_id'])
query_size = query.count()
if query_size > 0:
company = query[0]
company.country = country
company.province = province
company.city = city
company.company_name = company_name
company.company_description = company_description
company.company_website = company_website
company.company_logo = company_logo
company.save()
else:
Company.objects.create(
company_creator_profile_id=request.session['profile_id'],
country = country,
province = province,
city = city,
company_name = company_name,
company_description = company_description,
company_website = company_website,
company_logo = company_logo
)
return redirect(reverse('app_employer:company_profile'))
这是我的HTML
<form method="POST" action="{% url 'app-employer:submit-company-profile' %}">
{% csrf_token %}
{% for field in company_form %}
<div class="form-group">
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
{{field}}
</div>
{% endfor %}
<div class="upload">
<p><strong>Upload your company logo</strong></p>
<div class="row">
<div class="col-sm-4">
<button class="btn btn-block btn-default">Choose File</button>
</div>
<div class="col-sm-4">
<div class="text-file-name">
<p style="color:#999">No file chosen</p>
</div>
</div>
</div>
</div>
<div class="btn-padding-form">
<input id="submit" type="submit" class="btn btn-info btn-md btn-block" value="Submit">
</div>
</form>
{%csrf_令牌%}
{公司表格%]中字段的百分比}
{{field.label}
{{field}}
{%endfor%}
上传您的公司徽标
选择文件
未选择任何文件
“上载徽标”按钮尚无法使用。因此,我将在不上载徽标的情况下提交表单。很可能您的顶部条件不合适。我不确定,因为我有一个显示此编辑配置文件页面的功能,它使用了与此表单的第一个条件相同的条件。@Sara您能纠正缩进吗。我不确定第一个
if
语句是用于整个def
还是仅用于下一行。您是否尝试过使用inspect元素查看表单操作url?这是使用Django表单的错误方法:您应该使用表单的清理数据
在数据库中创建对象,不是原始的请求。发布数据(否则你会面临各种安全问题)。您还应该处理form.is\u valid()==False的情况,您不在这里。最后,您没有被重定向的原因只有两个:您的视图没有被调用(检查您的url模式),或者会话['status']
不是“雇主”
。