【发布时间】:2014-02-19 02:05:45
【问题描述】:
在我的 models.py 文件中,我有一个名为“问题”的类,它基本上存储了一个问题、它的答案以及该问题的一些评分相关信息。这是该类的代码:
class Problem(models.Model):
def CreatePath(instance, filename):
return ( '/' + instance.problemLevel + '.' + (instance.primary_key) + '.html')
# Use 'pkey' as problem ID
problemName = models.CharField('Problem Name',max_length=50)
problemText = RichTextField('Problem Statement',max_length=10000)
testCases = models.TextField('Test Cases',max_length=4000)
output = models.TextField('Test case result',max_length=4000)
problemLevel = models.IntegerField('Problem Level')
problemPoints = models.IntegerField('Points')
problemLink = models.FileField(upload_to=CreatePath, blank=True)
def save(self, *args, **kwargs):
self.problemLink = self.problemText
super(Problem, self).save(*args, **kwargs)
def __unicode__(self):
return self.problemName
在用户通过管理页面输入问题后(我使用 Ckeditor RTE 作为问题文本字段),我希望 Django 为该特定问题创建一个新的 html 页面。假设我输入了 questionLevel = 1 的问题并假设它是第一个问题,我希望将 1.1.html 存储到我的问题(媒体)目录中。因此,我尝试为此目的使用 FileField 对象,并稍微修改了 save() 模块。但是该文件没有被创建。我运行内置的 Django 管理 shell 来检查问题链接的内容,它与问题文本的内容相同。有人可以告诉我这里哪里出错了吗? 我是 Django 新手,如果有帮助的话!
【问题讨论】:
标签: python django django-models ckeditor filefield