2011-06-30 65 views
2

更新:感謝烏迪的推薦下,我打開調試和更新的錯誤消息再加上我的模型Django管理不能上傳文件使用UTF-8的文件名

這裏是我的模型:

class booktitle(models.Model): 
    added_by = models.ForeignKey(User) 
    book_title_zh = models.CharField(max_length=255) 
    book_desc_zh = models.TextField(blank=True, null=True) 
    author_zh = models.CharField(max_length=255) 
    publisher_zh = models.CharField(max_length=255) 
    category = models.ForeignKey(category) 
    cover_img = models.ImageField(upload_to='books/book_img_cover', blank=True, null=True) 
    last_updated = models.DateField(auto_now=True) 
    date_added = models.DateField(auto_now=True) 

    class Meta: 
     ordering = ('-date_added',) 
     verbose_name = 'Book : 書本' 
     verbose_name_plural = 'Book : 書本' 

我有一個標準的Django安裝。當我用它來上傳文件名有中國特色的,它顯示了以下錯誤:

UnicodeEncodeError at /admin/booksfair/booktitle/6/ 'ascii' codec can't encode characters in position 51-53: ordinal not in range(128) Request Method: POST Request URL: http://www.mydomain.com/admin/booksfair/booktitle/6/ Django Version: 1.4 pre-alpha SVN-16395 Exception Type: UnicodeEncodeError Exception Value: 'ascii' codec can't encode characters in position 51-53: ordinal not in range(128) Exception Location: /usr/lib/python2.6/genericpath.py in exists, line 18 Python Executable: /usr/bin/python Python Version: 2.6.7 Python Path:
['/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/PIL', '/usr/lib/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info', '/var/www', '/var/www/html/django/website', '/var/www/html/django']

我已經發現了一些解決這裏,但它不工作對我而言,這不是一個重複的職位。謝謝。

回答

0

由於設置不正確,您的錯誤消息無用。

(因爲你應該得到一個非常不同的錯誤信息,請在一個新的問題再次發佈新的錯誤消息,您的問題,而不是更新這一項感謝。)