1
resposta

form vazio

models.py:
    from django.db import models
from django.contrib.auth.models import User

class Roteiro(models.Model):
    ESTACOES =[
        ('verão','Verão'),
        ('inverno','Inverno'),
        ('primavera','Primavera'),
        ('outono','Outono'),
    ]
    nome= models.CharField(max_length=100, null=False)
    dias= models.IntegerField(null = False)
    epoca= models.CharField(max_length=10, choices=ESTACOES, null=False)
    usuario_roteiro = models.ForeignKey(User,on_delete=models.CASCADE)

    def __str__(self):
        return (self.nome)

forms.py:
from django import forms
from apps.roteiros.models import Roteiro


class RoteiroForms(forms.ModelForm):
    class Meta:
        model=Roteiro
        exclude=['usuario_roteiro',]
        
        widgets={
            "nome": forms.TextInput(attrs={'class':'input-roteiro'}),
            "dias": forms.NumberInput(attrs={'class':'input-roteiro'}),
            "epoca": forms.Select(attrs={'class':'input-roteiro'}),
        }


views.py:

from django.shortcuts import render
from apps.roteiros.forms import RoteiroForms


def roteiros(request):
    form = RoteiroForms
    if request.method == 'POST':
        form = RoteiroForms(request.POST)
        if form.is_valid():
            roteiro = form.save(commit=False)
            roteiro.usuario_roteiro = request.user
            roteiro.save()
    return render(request, 'home/pais.html', {'form': form})


pais.html:

<form class="formulario" method="POST" >
                    {% csrf_token %}
                    {% for field in form.visible_fields %}
                        <div class="campo-texto">
                            <label class="label-acesso" for="{{ field.id_for_label }}">{{ field.label }}</label>
                            {{ field }}
                        </div>
                    {% endfor %}
                    <button class="botao-roteiro" type="submit">Adicionar ao roteiro</button>
                </form>

só aparce o meu button, o meu form fica vazio e eu não sei o pq, alguém consegue me ajudar?

1 resposta

Olá!

Poderia colocar teu código no github? é melhor pra entender teu problema