Thursday, January 23, 2020

Re: Separa Fecha y Hora en dos inputs utilizando ModelsForm

Gracias por tu explicación Daniel, si me queda claro que tratas de filtrar el dato en los templates con los filters que ofrece Django.

Pero aun así el dato que envió por el context es la estructura de un formulario, no un dato limpio(como una fecha)


Por lo cual en el template no puedo aplicar un filter a un formulario


No se si aun me sigo equivocando, y los filters se pueden utilizar con estructuras de formulario. De lo contrario ¿cual seria tu recomendación?

Te lo agradezco mucho Daniel, por tu paciencia :) 

El jue., 23 de ene. de 2020 a la(s) 18:23, DANIEL URBANO DE LA RUA (dannybombastic@gmail.com) escribió:
y esta pagina devberia se la biblia para ti https://ccbv.co.uk/ hahaha


El vie., 24 ene. 2020 a las 0:21, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
ejemplo de como trapichear un form en una CVB 

ahi hay miles ñongas hechas 


class ClientView(CreateView):
activate('es')
model = Client
form_class = ClientForm
template_name = 'clientes/clientes.html'

def get(self, request, *args, **kwargs):

self.object = None
return super().get(request, *args, **kwargs)

def get_context_data(self, **kwargs):

intr = _('Fill field before continuing')
mail = _('Fill a valid email address')
chk = _('Fill one of the checkbox to a valid state')
dat = _('Please Choose a date')

company = ''
if self.kwargs['company']:
company = self.kwargs['company']

#if company no exist, do not continue
get_object_or_404(GrupoViviendas, nombre__icontains=company)
if Department.objects.filter(grupo_o_administrador__nombre__icontains=company).exists():
company = Department.objects.filter(grupo_o_administrador__nombre__icontains=company)[0].grupo_o_administrador.nombre
grupo = GrupoViviendas.objects.get(nombre__icontains=company)

departments = Department.objects.filter(
grupo_o_administrador__nombre=company).order_by('nombre')

self.extra_context = {"department_list": departments,
'company': company, "introduce": intr,
"mail": mail, "check": chk, "dat": dat }
else:
departments = [{'nombre': 'Vacios'}]
self.extra_context = {"department_list": departments,
'company': company, "introduce": intr,
"mail": mail, "check": chk, "dat": dat }

if 'form' not in kwargs:
kwargs['form'] = self.get_form()
return super().get_context_data(**kwargs)

def form_valid(self, form):
"""If the form is valid, save the associated model."""
# print('casas', form.data['client_house'])
self.object = form.save()
return super().form_valid(form)

# cambiamos algo de info antes de serializar el formulario
def post(self, request, *args, **kwargs):
departement = ''
request.POST._mutable = True
company = self.kwargs['company']
company = GrupoViviendas.objects.get(nombre__icontains=company)
depa = company.company_related.all()


if request.POST['client_house']:
for dep in depa:
print('introducido',str(request.POST['client_house']).lower())
print('iterador',str(dep.nombre).lower())
if str(request.POST['client_house']).lower() in str(dep.nombre).lower() :
departement = dep.nombre
print("departamento", departement)
dp = get_object_or_404(Department, nombre=departement)
request.POST['client_house'] = dp.id

self.object = None
return super().post(request, *args, **kwargs)

def form_invalid(self, form):
"""If the form is invalid, render the invalid form."""
if not form.is_valid():
messages.error(self.request, 'Form invalid.')

return self.render_to_response(self.get_context_data(form=form))

def get_success_url(self):
self.object.client_code_language = self.request.LANGUAGE_CODE
self.object.save()
handler = HandlerTicket(self.object)
sn = handler.get_sn()
company = self.kwargs['company']
pk = self.object.id

return reverse_lazy('clientes:review_reserva', args=[pk, company])



def review_ticket_by_client(request, pk, company):
""" Render review form with data of rate """
client = Client.objects.filter(pk=pk)[0]
result = serialize('json', TService.objects.filter(client=client.pk))
# result = TService.objects.filter(client=client.pk)
debug = settings.DEBUG
key = settings.STRIPE_PUBLISHABLE_KEY
tickets = client.get_tkclient.all()
trip_ida = 0
trip_vuelta = 0
tarifas_depto = client.client_house.tarifa
for tk in tickets:
if tk.car_type == 'Turismo':
if tk.tstate == 'ida':
trip_ida += tarifas_depto.precio_turismo
else:
trip_vuelta += tarifas_depto.precio_turismo

if tk.car_type == 'Turismo XL':
if tk.tstate == 'ida':
trip_ida += tarifas_depto.precio_turismo
else:
trip_vuelta += tarifas_depto.precio_turismo

if tk.car_type == 'Minivan':
if tk.tstate == 'ida':
trip_ida += tarifas_depto.precio_minivan
else:
trip_vuelta += tarifas_depto.precio_minivan
total_trip = trip_ida + trip_vuelta
return render(request, 'clientes/data_confir.html', {'total_trip': total_trip,
'trip_ida': trip_ida,
'trip_vuelta': trip_vuelta,
'client': client,
'company': company,
'debug': debug,
'result': result,
'key': key })



El vie., 24 ene. 2020 a las 0:10, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
no tiene nada que ver que uses un vista basada en  clases o funciones eso no te afecta si lo que quiere es mostrar la hora como tu quieras

El vie., 24 ene. 2020 a las 0:07, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
se lo escribo por usted hahahah deme su ip 

El vie., 24 ene. 2020 a las 0:07, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
<p class="card-text">{{tk.date|many_days}}</p>
un pequeño caso de uso le paso una fecha devuelvo cuantos dias pero podria devolver lo que me diera la gana al igual que usted

El vie., 24 ene. 2020 a las 0:05, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
puedes usar directo en el template lee la documentacion o yo no entiendo lo que quieres hacer si es separa una cadena es muy basico tiene que saber partir un string de miles de formas o al menos 2 hahah

El vie., 24 ene. 2020 a las 0:02, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
da igual que tipo de clase o funcion  te de la vista o template esto pasa en tiempo de renderizacion asi que si solo lo quieres mostrar te vale ahora si lo que quieres en es tiempo de procesamiento de esos datos hazlo en la clase 

El jue., 23 ene. 2020 a las 21:57, Tatiana Mesa (<tatianamesa687@gmail.com>) escribió:
Si Daniel, pero como lo dije en un principio, estoy utilizando Vistas basadas en clases. Porque es mas fácil realizar un UPDATE.

Este es mi archivo de forms.py


Esta es la vista, aquí envió el formulario




Y lo visualizo así en el HTML



Y se ve de esta manera



No se si directamente en el template, como lo estoy manejando, se puede dividir el mismo formulario. 

Y quede la fecha y la hora

Agradecería mucho tu respuesta, porque quiazas este buscando algo que no se pueda realizar con los formularios de Django.

El jue., 23 de ene. de 2020 a la(s) 15:31, Tatiana Mesa (tatianamesa687@gmail.com) escribió:
Gracias Daniel, me seria muy útil un ejemplo.

El jue., 23 de ene. de 2020 a la(s) 15:24, DANIEL URBANO DE LA RUA (dannybombastic@gmail.com) escribió:
Create un tag template espera te mando doc

On Thu, 23 Jan 2020, 19:38 Tatiana Mesa, <tatianamesa687@gmail.com> wrote:
Hola Daniel, gracias por la rápida respuesta

Tengo el campo DateTimeField que trae la fecha y la hora en el mismo campo. Quiero separarlos solo en la vista del Html. Sin modificar el tipo de dato.

Agradezco tu respuesta.

El jue., 23 de ene. de 2020 a la(s) 12:27, DANIEL URBANO DE LA RUA (dannybombastic@gmail.com) escribió:

El jue., 23 ene. 2020 a las 18:24, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:

El jue., 23 ene. 2020 a las 18:19, DANIEL URBANO DE LA RUA (<dannybombastic@gmail.com>) escribió:
Tienes date and time field

On Thu, 23 Jan 2020, 15:57 Tatiana Mesa, <tatianamesa687@gmail.com> wrote:
Buenas tardes comunidad,

He empezado a trabajar con vistas basadas en clases en Django y tengo una pequeña complicación.

Quisiera saber de que forma puedo separar un campo fecha (DateTimeField), en un input la feha y en otro input la hora en una vista de HTML.



Tengo en mi modelo un campo de Fecha

 Y tengo un formulario para realizar updates


Les agradezco mucho sus respuestas.



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHAr%3D_3CbZXT9x_NXQ-MJH8U3tJz7JEJj3-JxBuBx_s7JxUwqQ%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAO_yRT3twv2oPWkp_hRjsm4K433QFj_U6w%2B5-fqjytNBNOSdgw%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHAr%3D_2OBLQmNVD9pMaXtBor_1U7FZh8%3DgOXUenPLoCyxH1fuw%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAO_yRT2XwbGOpQasLJH5MDCNPuyeY2ozKgLC57vOGK1nzfcMgA%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHAr%3D_2_RneXcuHjTRkAmZHz1hYkfVkY1URyhovoK5hd1ytK%2BQ%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAO_yRT2XEed%3D1M305P_9Z%3DfgvxObbzz0gC6ZA90WcP4ef472OA%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHAr%3D_1%2BOZE641WPRd--igqXd4ZcZ%2Bmk%3DVF%2BA8DJMUaaN74V9Q%40mail.gmail.com.

No comments:

Post a Comment