我正在尝试创建一个表单,该表单将在其某些值中接收空字符串。此表单不受模型对象的支持。我是这样定义的:
class SearchForm(forms.Form):
device = fields.CharField(blank=True)
min_release_date = fields.CharField(blank=True)
price_range = fields.CharField(blank=True)
has_in_app_purchases = fields.CharField(blank=True)
Run Code Online (Sandbox Code Playgroud)
除非我尝试运行测试:
def test_valid_no_data(self):
from webanalytics.web.search import ANY_PRICE, DEFAULT_DATES, HAS_IAP_IDS
form_data = {
'price_range': ANY_PRICE[0],
'min_release_date': DEFAULT_DATES[0],
'has_in_app_purchases': HAS_IAP_IDS[0]
}
search = SearchForm(form_data)
self.assertTrue(search.is_valid())
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
ERROR: Failure: TypeError (__init__() got an unexpected keyword argument 'blank')
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/nose/loader.py", line 411, in loadTestsFromName
addr.filename, addr.module)
File "/usr/local/lib/python2.7/dist-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/local/lib/python2.7/dist-packages/nose/importer.py", line 94, in importFromDir
mod = …Run Code Online (Sandbox Code Playgroud) 我有一个包含unicode字符串的文件: u"L'\xe9quipe le quotidien"
我有另一个文件,从Windows导出并编码为iso-8859-1相同的字符串:( "L'<E9>quipe le quotidien"这是less我的shell中的复制/粘贴).
转换Windows文件的内容会decode('iso-8859-1').encode('utf8')导致字符串与Windows文件中的字符串不同:L'équipe le quotidien.
这种比较的最佳方法是什么?我似乎无法将latin1字符串转换为utf-8.
python ×2
python-2.7 ×2
django ×1
django-1.4 ×1
django-forms ×1
iso-8859-1 ×1
mojibake ×1
utf-8 ×1