Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django表单在提交后不重定向_Python_Html_Django - Fatal编程技术网

Python Django表单在提交后不重定向

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

所以我制作了一个表单,但在我点击提交按钮后,它根本没有重定向。我不知道表单是否真的提交了,因为在我点击submit之后,url只是添加了/submit,甚至没有重定向到正确的页面

以下是我的看法:

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']
不是
“雇主”