输入未以django形式显示

时间:2018-01-29 20:37:54

标签: python django

我的表单输入未显示。这只是一个按钮。我认为homepage.html没有得到这种形式

Forms.py

class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)

Views.py

def get_name(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
    # create a form instance and populate it with data from the request:
    form = NameForm(request.POST)
    # check whether it's valid:
    if form.is_valid():
        # process the data in form.cleaned_data as required
        # ...
        # redirect to a new URL:
        return HttpResponseRedirect('/')

# if a GET (or any other method) we'll create a blank form
else:
    form = NameForm()

return render(request, 'mainApp/homepage.html', {'form': form})

homepage.html

{% extends "mainApp/wrapper.html" %}
{% block title %}Главная{% endblock %}
{% block content %}
<h1>Main page</h1>

{% include "mainApp/includes/somehtml.html" %}
<br>

<form action="/account/username/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
<br>
{% endblock %}

它只提供“提交”按钮。我该如何解决?

2 个答案:

答案 0 :(得分:0)

请更改

{{form}}

{{form.as_p}}

答案 1 :(得分:0)

<强> Views.py

from app_name.forms import * # Change app_name with your app name


def get_name(request):
  temp_context = {} # Check here

  if request.method == 'POST':
    acc_form = NameForm(request.POST) # Check here
    temp_context["acc_form"] = acc_form # Check here

    if acc_form.is_valid(): # Check here
      return HttpResponseRedirect('/')
  else:
      temp_context[“acc_form”] = NameForm() # Check here

  return render(request, 'mainApp/homepage.html', temp_context) # Check here

<强> homepage.html

{% extends "mainApp/wrapper.html" %}
{% block title %}Главная{% endblock %}
{% block content %}
  <h1>Main page</h1>

  {% include "mainApp/includes/somehtml.html" %}
  <br>

  <form action="/account/username/" method="post">
    {% csrf_token %}
    {{ acc_form }} # Check here; 
    # you can also try {{ acc_form.as_table }} or {{ acc_form.as_p }} if there any issue
    <input type="submit" value="Submit" />
  </form>
  <br>
{% endblock %}