views.py
from django.urls import reverse_lazy
from django.views.generic import (
ListView,
DetailView,
CreateView,
TemplateView,
UpdateView,
DeleteView
)
# models
from .models import Empleado
# forms
from .forms import EmpleadoForm
class EmpleadoCreateView(CreateView):
template_name = "persona/add.html"
model = Empleado
fields=[
'first_name',
'last_name',
'job',
]
success_url = reverse_lazy('persona_app:emplados_admin') #despues de finalizar ira a esa url
class SuccessView(TemplateView):
template_name = "persona/success.html"
forms.py
from django import forms
from .models import Empleado
class EmpleadoForm(forms.ModelForm):
class Meta:
model = Empleado
fields = (
'first_name',
'last_name',
'job',
'departamento',
'avatar',
'habilidades',
)
widgets = {
'habilidades': forms.CheckboxSelectMultiple()
}
urls.py
from django.contrib import admin
from django.urls import path
from . import views
app_name = "persona_app"
urlpatterns = [
path(
'add-empleado/',
views.EmpleadoCreateView.as_view(),
name='empleado_add'
),
path(
'success/',
views.SuccessView.as_view(),
name='correcto'
),
]
templates/persona/add.html
<div class="grid-container">
<div class="grid-x">
<h1 class="cell">Registrar empelado</h1>
<form class="cell grid-x grid-margin-x" method="POST" enctype="multipart/form-data">{% csrf_token %}
<div class="medium-6 cell">
<label>Nombres:
{{form.first_name}}
</label>
</div>
<div class="medium-6 cell">
<label>Apellidos:
{{form.last_name}}
</label>
</div>
<div class="medium-6 cell">
<label>Trabajo:
{{form.job}}
</label>
</div>
<div class="medium-12 cell">
<button type="submit" class="button success">Guardar</button>
</div>
</form>
</div>
</div>
templates/persona/success.html
<h1>Felicitaciones, se guardo correctamenet el empleado</h1>
Última modificación: 05 Aug 2023 20:01
No hay comentarios aún
Sé el primero en comentar este artículo