Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

264
Visualizações
Texto de escape del administrador de Django

Recientemente actualicé Django de 1.3 a 1.8.18 y he tenido problemas con los enlaces personalizados para completar formularios en el administrador de Django. Por ejemplo, tengo el siguiente enlace:

 /admin/miscellaneous/whatsnew/add/?title=...%20competition%20results%20uploaded&pub_date=21-04-2017&body=&link=

Cuando se ejecuta, los datos precargados en el formulario se ven así: ingrese la descripción de la imagen aquí

Donde debería verse así:

ingrese la descripción de la imagen aquí

Al probar directamente desde la barra de URL en Safari, cambia a esto después de presionar enter:

 https://flyball.org.au/admin/miscellaneous/whatsnew/add/?title=...%2520competition%2520results%2520uploaded&pub_date=21-04-2017&body=&link=

modelos.py

 class WhatsNew(models.Model): title = models.CharField(max_length=100,help_text='Title, MAX 100 characters.') body = models.TextField() pub_date = models.DateField() message_expiry = models.DateField(default=datetime.date.today() + relativedelta(years=1)) link = models.URLField(blank=True, null=True) class Meta: ordering = ['-pub_date'] verbose_name_plural = "Whats New?" def __unicode__(self): return self.title

administrador.py

 import models from django.contrib import admin class WhatsNewAdmin(admin.ModelAdmin): list_display = ('title','pub_date','message_expiry','link','body') admin.site.register(models.WhatsNew, WhatsNewAdmin)

¿Qué puedo hacer para resolver esto?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Por lo tanto, no estoy seguro de cómo hacerlo en ModelAdmin, pero puede crear configuradores personalizados en su modelo para manejar esta situación. Así es como haría para escapar de las cadenas codificadas de URL:

 import urllib class WhatsNew(models.Model): # Field with custom setter _title = models.CharField(max_length=100, help_text='Title, MAX 100 characters.', db_column='title') body = models.TextField() pub_date = models.DateField() message_expiry = models.DateField(default=datetime.date.today() + relativedelta(years=1)) link = models.URLField(blank=True, null=True) # Custom getter and setter @property def title(self): return self._title @title.setter def title(self, value): self._title = urllib.unquote(value) class Meta: ordering = ['-pub_date'] verbose_name_plural = "Whats New?" def __unicode__(self): return self._title
about 4 years ago · Santiago Trujillo Relatório

0

Use + en lugar de %20 para el espacio y funciona.

Su enlace debe ser algo como:

 /admin/miscellaneous/whatsnew/add/?title=...+competition+results+uploaded&pub_date=21-04-2017&body=&link=
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda