我喜欢澄清我是 Django 的新手。
Versions:
Django 1.5
Python 2.7
PostgreSQL 9.3
我有一个将文件上传到 AWS S3 的 webapp,目前可以使用。我想将文件命名为contentid
在上传时自动分配 V4 UUID 的字段的名称。我会尝试挑选相关信息并在此处发布。我不确定我会在哪里收集这些信息并将其声明为名称。
看法
def upload_content(request):
if request.method == 'POST':
form = ContentForm(request.POST, request.FILES)
if form.is_valid():
new_content = Content(name=request.POST['name'],accountid=request.user.id,public=False,url=request.POST['name'],uploaddate=datetime.now(),viewcount='0',file = request.FILES['file'])
new_content.save()
return HttpResponseRedirect('/Console/Content/')
模型
class Content(models.Model):
name = models.CharField(max_length=128)
accountid = models.IntegerField(max_length=34)
url = models.CharField(max_length=200)
uploaddate = models.DateTimeField('date published')
viewcount = models.IntegerField(max_length=34)
public = models.BooleanField(max_length=1)
contentid = UUIDField(unique=True,editable=False)
file = models.FileField(upload_to='content')
@classmethod
def get_content_list(cls, account):
cursor = connection.cursor()
cursor.execute('SELECT name, contentid, public, uploaddate, id FROM webapp_content WHERE accountid=%s ORDER BY uploaddate', [account])
ret = cursor.fetchall()
return ret