gpt4 book ai didi

python - 编码值形式.ModelForm

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:58 26 4
gpt4 key购买 nike

我正在验证我的模型以接受重音符号和 ñ,但通过表单传递的字符未编码,并且 admin 显示它不是有效字符。示例

我把它放在管理中:administración,它采用 forms.py

<input name="nombre" value="administración" class="vTextField" maxlength="100" type="text" id="id_nombre" />

代码是这样的:

模型.py

class CapituloSerie(models.Model):
nombre=models.CharField("Capitulo",max_length=100,unique=True)
url_seo = models.SlugField(max_length=250, blank=True, default='')

def __unicode__(self):

return self.nombre+'-'+ format(self.temporada)

def save(self, *args, **kwargs):
if not self.id:
self.url_seo = defaultfilters.slugify(self.nombre)
super(CapituloSerie, self).save(*args, **kwargs)

Forms.py

from django import forms
from django.forms import widgets
from django.contrib.admin.widgets import FilteredSelectMultiple

import hashlib
EXPRE = r'^[A-Za-záéíóúñÑ \d():-]+$'


class CapituloForm(forms.ModelForm):

class Meta:
model = CapituloSerie

def __init__(self, *args, **kwargs):
super(CapituloForm, self).__init__(*args, **kwargs)
titulo_field = self.fields['nombre']
print "Formulario"
print self['nombre']

self.fields['nombre'] = forms.RegexField(EXPRE, label=titulo_field.label, max_length=titulo_field.max_length)

Admin.py

from django.contrib import admin
from jalvarez.series import models
from jalvarez.series.form import CapituloForm

class CapituloAdmin(admin.ModelAdmin):
exclude=('visitas',)
print "Admin"
form = CapituloForm

admin.site.register(models.CapituloSerie,CapituloAdmin)

我的所有文件一开始都有这个# - 编码:utf-8。有什么想法可以在 forms.py 中对值进行编码吗?

问候

最佳答案

问题出在您的 __unicode__ 方法上,因为它不返回 unicode 字符串:

def __unicode__(self):
return self.nombre+'-'+ format(self.temporada)

我不知道什么是 self.temporada 以及您打算如何格式化字符串,但请尝试以下行:

def __unicode__(self):
return u'{0} - {1}'.format(self.nombre, self.temporada)

同样,您的正则表达式应该类似于

EXPRE = ur'^[A-Za-záéíóúñÑ \d():-]+$'

关于python - 编码值形式.ModelForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com