我正在尝试使用 django 上传图像并遵循网站上的教程。在 views.py
我有:
def picture_upload(request):
"""
form to upload an image together with a caption.
saves it as a Picture in the database on POST.
shows the last uploaded picture and let's you upload another.
"""
picture = None
if request.method != 'POST':
form = PictureUploadForm()
else:
form = PictureUploadForm(request.POST, request.FILES)
if form.is_valid():
# an UploadedFile object
uploadedImage = form.cleaned_data['image']
caption = form.cleaned_data['caption']
# limit to one database record and image file.
picture, created = Picture.objects.get_or_create(picture_id=1)
if not created and picture.get_image_filename():
try:
os.remove( picture.get_image_filename() )
except OSError:
pass
# save the image to the filesystem and set picture.image
picture.save_image_file(
uploadedImage.filename,
uploadedImage.content
)
# set the other fields and save it to the database
picture.caption = caption
picture.save()
# finally, create a new, empty form so the
# user can upload another picture.
form = PictureUploadForm()
return render_to_response(
'example/picture_upload.html',
Context(dict( form=form, last_picture=picture) ) )
错误说:
global name 'Context' is not defined" at last line of my code. "views.py in picture_upload, line 111".
我该如何解决这个问题?
最佳答案
如果未定义,则未定义。您必须从 django.template 导入 Context。
在文件的顶部,输入
from django.template import Context
你不能神奇地希望所有变量都被定义...如果你没有导入它或以其他方式定义它,你认为你可以使用 PictureUploadForm
吗?
关于django - 在 django : getting "global name context is not defined" error 中上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064540/