确保:
sys.path
(import mysite.settings
应该工作)。我们碰巧认为我们的模板引擎是最好的东西,因为大块的培根,但我们认识到选择一个模板语言运行接近宗教。 没有什么关于Django需要使用模板语言,所以如果你附加到Jinja2,Mako或任何,可以随意使用那些。
不。 就像模板系统一样,模型/数据库层与框架的其余部分分离。
一个例外是:如果您使用不同的数据库库,您将无法使用Django的自动生成的管理网站。 该应用程序耦合到Django数据库层。
在模型中使用FileField
或ImageField
需要几个步骤:
MEDIA_ROOT
定义为您希望Django存储上传文件的目录的完整路径。 (对于性能,这些文件不存储在数据库中。)
将MEDIA_URL
定义为该目录的基本公开网址。
请确保此目录可由Web服务器的用户帐户写入。FileField
或ImageField
添加到模型中,定义upload_to
选项以指定MEDIA_ROOT
的子目录上传文件。MEDIA_ROOT
)。 您最有可能想使用Django提供的方便的url
属性。 For example, if your
ImageField
is called mug_shot
, you can get
the absolute path to your image in a template with
{{ object.mug_shot.url }}
.有时你的模板只需要一样的东西。 一个常见的例子是动态生成的菜单。 乍一看,简单地向模板上下文添加一个公共字典似乎是合乎逻辑的。
正确的解决方案是使用RequestContext
。 有关如何执行此操作的详细信息,请参见:Using RequestContext。
2017年9月6日