我正在尝试在 appengine-django 中上传文档。使用纯 Django 代码 [使用 python manage.py runsever] 成功上传文档。但是当我尝试使用 appengine 项目运行 django 时,它给了我错误,
[Errno 30] Read-only file system: u'/home/nishant/workspace1/problemdemo/uploaded_files/1372313114_43_nishant26062013.zip'
导致此错误的原因是开发人员对 App Engine 上的文件系统具有只读访问权限。
还有其他方法可以将文档上传到 google cloud sql 吗?
这是我的代码,
模型.py
from django.db import models
import time
# Create your models here.
def get_upload_file_name(instance,filename):
return "uploaded_files/%s_%s" % (str(time.time()).replace('.','_'),filename)
class Candidate(models.Model):
title=models.CharField(max_length=20)
resume=models.FileField(upload_to=get_upload_file_name)
def __unicode__(self):
return self.title
表单.py
from django import forms
from actualproblem.models import Candidate
class TestForm(forms.ModelForm):
class Meta:
model=Candidate
fields=('title','resume',)
views.py
# Create your views here.
from django.shortcuts import render
from actualproblem.forms import TestForm
def sampletest(request):
if request.method=='POST':
form = TestForm(request.POST,request.FILES)
if form.is_valid():
form.save()
else:
form=TestForm()
return render(request,'profile.html',{'form':form})
如何将文档上传到 google cloud sql?
您可以使用 Uploadcare 解决这个难题,它可以在您几乎无法控制主机文件系统(GAE、heroku、共享主机或诸如此类)的情况下提供帮助。上传的文件将存储在 Uploadcare 中,您将在数据库中存储文件 UUID 或 URL。
有Django包:pyuploadcare
披露:我是 Uploadcare 开发人员之一,我发布此消息并不是为了厚颜无耻地推广该服务,而是因为它旨在解决此类案例。
我是一名优秀的程序员,十分优秀!