我收到了这个错误
AttributeError at /admin/user/usermodel/1/
'tuple' object has no attribute 'startswith'
Run Code Online (Sandbox Code Playgroud)
当我尝试将文件加载到管理员时,我真的很新文件上传,无法弄明白
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = '/home/user/project/foo/yesno/static/'
STATICFILES_DIRS = (
'/home/user/project/foo/yesno/static_store',
)
MEDIA_ROOT = '/home/user/project/foo/yesno/static/media',
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)
models.py
def get_upload_file_name(instance, filename):
return "uploaded_files/%s_%s" % (str(time()).replace('.','_'), filename)
filename = ''
# Create your models here.
class UserModel(models.Model):
user = models.OneToOneField(User)
position = models.IntegerField(default=1)
thumbnail = models.FileField(upload_to="uploaded_files", blank=True)
def __unicode__(self):
return self.user.username
Run Code Online (Sandbox Code Playgroud)
forms.py
class ThumbnailForm(forms.Form):
thumbnail = forms.FileField()
Run Code Online (Sandbox Code Playgroud)
views.py
def handle_uploaded_file(f):
with open('some/file/name.txt', 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk)
def UploadPicRequest(request):
if request.method == 'POST':
thumb_form = ThumbnailForm(request.POST, request.FILES)
if thumb_form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/')
else:
thumb_form = ThumbnailForm()
return render_to_response('/update_profile/error.html', {'thumb_form': thumb_form})
Run Code Online (Sandbox Code Playgroud)
这条线
MEDIA_ROOT = '/home/user/project/foo/yesno/static/media',
Run Code Online (Sandbox Code Playgroud)
定义MEDIA_ROOT为元组.具体来说,由于尾随逗号,它使它成为单项元组:元组由逗号定义,而不是括号中通常认为的(空元组除外:-).
删除可能意外的尾随逗号,这个特殊的错误应该消失.
| 归档时间: |
|
| 查看次数: |
2490 次 |
| 最近记录: |