[Python] Keep getting Django form error "this field is required" even though the field has...

Discussão em 'Python' iniciado por Stack, Junho 4, 2025.

  1. Stack

    Stack Membro Participativo

    I am creating a Django web app and I'm starting out on using Django forms. I keep getting this error even though this project name field is entered.


    <tr><th><label for="id_title">projectName:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="title" maxlength="100" required id="id_title"></td></tr>​

    Below is my code. I'm not sure on what I'm missing.

    index.html:

    <form id="project_form" action="{% url 'createproject' %}" method="post">
    {% csrf_token %}
    <div class="form-group row">
    <label for="projectName" class="col-sm-2 col-form-label">Project Name:</label> &nbsp;
    <div class="col-sm-9">
    <input type="text" class="form-control" placeholder="Enter Project Name" name="projectName" id="projectName">
    </div>
    </div>
    <input type="submit" class="btn btn-primary" id="submit-project-btn">
    </form>


    forms.py:

    class CreateEditProjectForm(forms.Form):
    title = forms.CharField(label="projectName", max_length=100, required=True)


    models.py:

    class TestProject(models.Model):
    creator = models.ForeignKey(User,on_delete=models.CASCADE,related_name="testcreatorId")
    projectName = models.CharField(max_length=200, default=None)

    created_dt = models.DateTimeField(auto_now_add=True, auto_now=False)
    last_modified_dt = models.DateTimeField(auto_now_add=False, auto_now=True)


    views.py:

    def create_project(request):
    print("in create_project")
    print(request.method)
    if (request.method == "POST"):
    form = forms.CreateEditProjectForm(request.POST)
    print(form)
    if form.is_valid():
    projectName = form.cleaned_data["projectName"]
    print(projectName)
    if (len(projectName) > 0):
    creator = User.objects.get(id=request.session['_auth_user_id'])
    project = TestProject(projectName=projectName, creator=creator)
    print(project)
    project.save()
    return HttpResponseRedirect(reverse("index"))
    return render(request, "index.html", {
    "form": form
    })
    return render(request, "index.html", {
    "form": form
    })
    else:
    form = forms.CreateEditProjectForm()
    return render(request, "index.html", {
    "form": form
    })

    Continue reading...

Compartilhe esta Página