Buduję niektóre formy za pomocą Django-Crispy_Forms, potrzebuję ich, aby znajdowali się w niektórych kolejności (w szczególności zamówienie, które stabilowałem na polach wewnątrz Forms.py ).

forms.py:

class RegistroRelatorio(forms.ModelForm):
    class Meta:
       model = RelatorioVendas

       fields = {"razao_social","codigo_interno","nome_fantasia","endereco","bairro","uf","telefones","cnpj","fundacao",
              "negocios","cidades_negocios","c1_nome","c1_whats","c1_email","c1_cargo","c1_comunicacao","c1_preferencia"}

views.py

from django.shortcuts import render
from .models import RelatorioVendas
from django.http import HttpResponse
from .forms import RegistroRelatorio

# Create your views here.
def novo_relatorio(request):

form = RegistroRelatorio(request.POST or None)

if form.is_valid():
    form.save()
    return HttpResponse('Ok...')

return render(request,'river/novo_relatorio.html',{'form':form})

html:

{% extends 'river/base.html' %}

{% load crispy_forms_tags %}

{% block content %}

        <h3>Novo Relatorio</h3>
        <form method="post" >

            {% csrf_token %}
            {{form | crispy}}

            <button type="submit">Ok</button>
        </form>

{% endblock %}

Próbowałem użyć labl_order w tej klasie, działało, ale kiedy używam Crispy Form , przestaje działać ...

Próbowałem nawet użyć metody Układ z chrupiącej biblioteki.

0
Douglas Ferreira 25 luty 2019, 20:39

2 odpowiedzi

Najlepsza odpowiedź

Użyj "listy" zamiast "set" dla fields w Forms.py :

class RegistroRelatorio(forms.ModelForm):
    class Meta:
        model = RelatorioVendas

        fields = ["razao_social", "codigo_interno", "nome_fantasia", "endereco", "bairro", "uf", "telefones", "cnpj",
                  "fundacao", "negocios", "cidades_negocios", "c1_nome", "c1_whats", "c1_email", "c1_cargo",
                  "c1_comunicacao", "c1_preferencia"]

Według Dokumentacja:

Zestaw jest kolekcja bez duplikatów elementów.

0
Anton Bärwald 25 luty 2019, 21:18

Nie widzę tutaj żadnych problemów na chrupiący, aby uczynić pola w podanej kolejności. Pokaż swoje HTML i widoki.

0
Olga 25 luty 2019, 19:10