我刚刚发现Django不会自动从表单字段输入中删除额外的空格,我想我理解其基本原理('框架不应该改变用户输入').
我想我知道如何使用python的re删除多余的空格:
#data = re.sub('\A\s+|\s+\Z', '', data)
data = data.strip()
data = re.sub('\s+', ' ', data)
Run Code Online (Sandbox Code Playgroud)
问题是我应该在哪里这样做?据推测,这应该发生在一个形式的清洁阶段,但哪一个?理想情况下,我想清理所有额外空格的字段.如果它应该在clean_field()方法中完成,这意味着我必须有很多clean_field()方法基本上做同样的事情,这似乎是很多重复.
如果不是表单的清理阶段,那么可能在表单基于的模型中?
谢谢你的帮助!
W.
django和python仍然相当新.
我已经定义了两个从基类继承的几乎相同的模型:
class addressbook(models.Model):
name = models.CharField(max_length=50)
class company(addressbook):
address = models.CharField(max_length=50)
class contact(addressbook):
telephone - models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)
我想与公司和联系对象做类似的事情.但是在我的模板中看起来我需要为每个对象使用单独的模板,因为要访问对象中的成员我必须使用类似的东西
{{ blah.name }} {{ blah.address}}
Run Code Online (Sandbox Code Playgroud)
在一个但是
{{ blah.name }} {{ blah.telephone}}
Run Code Online (Sandbox Code Playgroud)
在另一个.
所有这些重复让我怀疑.是否有一些python或django模板语法允许我重用两个模型的单个模板(具有某种内置智能)?
谢谢你的帮助!W.