purchase_view_a_formularios_de_django #8

Merged
mono merged 4 commits from purchase_view_a_formularios_de_django into main 2024-07-06 09:42:32 -05:00
4 changed files with 63 additions and 3 deletions
Showing only changes of commit ad78625351 - Show all commits

View File

@ -1,4 +1,39 @@
from django import forms from django import forms
from django.forms.widgets import DateInput
from .models import Sale, SaleLine
class ImportProductsForm(forms.Form): class ImportProductsForm(forms.Form):
csv_file = forms.FileField() csv_file = forms.FileField()
class PurchaseForm(forms.ModelForm):
class Meta:
model = Sale
fields = [
"customer",
"date",
"phone",
"description",
]
widgets = {
'date': DateInput(attrs={'type': 'date'})
}
class PurchaseLineForm(forms.ModelForm):
class Meta:
model = SaleLine
fields = [
"product",
"quantity",
"unit_price",
"description",
]
LineaFormSet = forms.models.inlineformset_factory(
Sale,
SaleLine,
extra=2,
fields='__all__'
)

View File

@ -0,0 +1,12 @@
<!doctype html>
<form method="POST">
{% csrf_token %}
{{ sale_form}}
{{ linea_formset.management_form }}
{% for form in linea_formset %}
<table style="border: solid 1px blue; margin: 10px">
{{ form.as_table }}
</table>
{% endfor %}
<br/><button name="form" type="submit" >Comprar</button>
</form>

View File

@ -6,6 +6,7 @@ app_name = 'don_confiao'
urlpatterns = [ urlpatterns = [
path("", views.index, name="wellcome"), path("", views.index, name="wellcome"),
path("comprar", views.buy, name="buy"), path("comprar", views.buy, name="buy"),
path("comprar_django", views.django_buy, name="django_buy"),
path("compras", views.purchases, name="purchases"), path("compras", views.purchases, name="purchases"),
path("productos", views.products, name="products"), path("productos", views.products, name="products"),
path("importar_productos", views.import_products, name="import_products") path("importar_productos", views.import_products, name="import_products")

View File

@ -3,7 +3,7 @@ from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
from django.template import loader from django.template import loader
from .models import Sale, Product, ProductCategory from .models import Sale, Product, ProductCategory
from .forms import ImportProductsForm from .forms import ImportProductsForm, PurchaseForm, LineaFormSet
import csv import csv
import io import io
@ -16,11 +16,23 @@ def buy(request):
context = {} context = {}
if request.POST: if request.POST:
raise Exception(request.POST) raise Exception(request.POST)
else:
raise Exception(request.POST)
return render( return render(
request, 'don_confiao/purchase.html', context) request, 'don_confiao/purchase.html', context)
def django_buy(request):
if request.method == "POST":
raise Exception(request.POST)
else:
sale_form = PurchaseForm()
sale_linea_form = LineaFormSet()
return render(
request,
'don_confiao/django_purchase.html',
{
'sale_form': sale_form,
'linea_formset': sale_linea_form
}
)
def purchases(request): def purchases(request):
purchases = Sale.objects.all() purchases = Sale.objects.all()