I'm a beginner in developing with django, I've been having a problem with a form I've made, I've been searching for similar problems but none of them could solve my problem.
No field of the form render in the HTML but the button renders fine
my form:
from django import forms
from .models import Aluno
class NovoAluno(forms.Form):
class Meta:
model = Aluno
nome = forms.CharField(min_length=15, max_length=100)
direccion = forms.CharField(min_length=10, max_length=250)
ciudad = forms.CharField(min_length=3, max_length=50)
provincia = forms.CharField(min_length=4, max_length=50)
comunidad = forms.CharField(min_length=4, max_length=50)
cp = forms.IntegerField()
faixas = ['Blanco', 'Gris', 'Amarilla', 'Naranja', 'Verde', 'Azul', 'Roxa', 'Marrón', 'Preta']
graduacion = forms.ChoiceField(choices=faixas)
inicio = forms.DateInput()
nacimento = forms.DateInput()
lic = ['Basica', 'Completa']
licencia = forms.ChoiceField(choices=lic)
documento = forms.CharField(min_length=4, max_length=9)
email = forms.EmailField(min_length=10)
profesor = forms.CharField(min_length=5, max_length=100)
centro = forms.CharField(min_length=5, max_length=50)
my views:
from django.shortcuts import render, get_object_or_404, redirect
from .forms import NovoAluno
from .models import Aluno
def home(request):
return render(request, 'academia/home.html', {})
def novo(request):
if request.method == "POST":
form = NovoAluno()
if form.is_valid():
form.save()
return redirect('aluno_detalhes', pk=form.pk)
else:
form = NovoAluno()
return render(request, 'academia/cadastro.html', {'form': form})
def pesquisar(request):
return render(request, 'academia/pesquisa.html', {})
def aluno_detalhe(request, pk):
aluno = get_object_or_404(Aluno, pk=pk)
return render(request, 'academia/aluno.html', {'aluno': aluno})
my model:
from django.db import models
class Aluno(models.Model):
nome = models.CharField(max_length=100)
direccion = models.CharField(max_length=250)
ciudad = models.CharField(max_length=50)
provincia = models.CharField(max_length=50)
comunidad = models.CharField(max_length=50)
cp = models.IntegerField()
nacimento = models.DateField()
inicio = models.DateField()
documento = models.CharField(max_length=9)
email = models.EmailField()
profesor = models.CharField(max_length=100)
centro = models.CharField(max_length=50)
graduacion = models.CharField(max_length=10)
licencia = models.CharField(max_length=8)
content block that the form goes
{% block content %}
<h1>Novo Aluno:</h1>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Cadastrar!</button>
</form>
{% endblock %}
Well, thanks in advance, and I'm sorry if it's a dumb mistake, but I can't see where it is...