Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Cómo acceder al objeto de solicitud en FormView

Quiero acceder al objeto de solicitud en FormView y obtener la IP del cliente. Como todos sabemos, no es muy confiable colocar un campo oculto en el formulario html porque el usuario puede cambiarlo si así lo desea. Por lo tanto, elijo hacerlo de espaldas. Uso ModelForm como form_class de FormView y excluyo el campo ip en el formulario. Aquí viene el problema, sé cómo agregar el campo ip dinámicamente. No siempre puedo guardar el modelo con éxito. Aquí está mi código.

models.py

 class MyModel(models): ip = models.GenericIPAddressField() [...]

forms.py

 class MyForm(forms.ModelForm): class Meta: model = MyModel exclude = ['ip']

views.py

 class MyView(FormView): form_class = MyForm [...]

Intenté cambiar el método psot() y agregué manualmente el campo ip de request.POST pero descubrí que no sabía cómo pasar la instancia del formulario... Pasé toda la noche para resolver este problema y finalmente falló ... Tanques por ayudar de antemano ...

Gracias Daniel por responder a esta pregunta.

Cambié mi código a esto:

views.py

 class PollView(FormView): template_name = 'poll.html' form_class = PollForm success_url = '/thanks/' def get_ip(self,request): if request.META.has_key('HTTP_X_FORWARDED_FOR'): ip = request.META['HTTP_X_FORWARDED_FOR'] else: ip = request.META['REMOTE_ADDR'] return ip def form_valid(self, form): form.instance.ip = self.get_ip(self.request) super(PollView,self).form_valid(form)

pero tengo un error:

 ValueError at / The view poll.views.PollView didn't return an HttpResponse object. It returned None instead.
about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda