---
title: "FAQ: 使用Django"
version: 6.1
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/6.1/faq/usage/
canonical: https://djangodocs.dev/zh-hans/6.1/faq/usage/
---
# FAQ: 使用Django

## 为什么我在导入 [`DJANGO_SETTINGS_MODULE`](/zh-hans/6.1/topics/settings/#envvar-DJANGO_SETTINGS_MODULE) 时收到错误提示？

保证：

- 环境变量 [`DJANGO_SETTINGS_MODULE`](/zh-hans/6.1/topics/settings/#envvar-DJANGO_SETTINGS_MODULE) 设置为完全限定的 Python 模块（即 `mysite.settings` ）。
- 所述模块在 `sys.path` (需引入 `import mysite.settings` 才会工作）
- 该模块不包含语法错误。

## 我不喜欢 Django 的模板语言，能不能不使用它？

我们认为我们的的模板引擎是最好的，但是我们意识到选择一个模板语言和信仰宗教相似。Django 没有什么必须的模板语言，如果你愿意使用 Jinja2、Mako 或其他的，请随意使用。

## 我是否必须使用你的模型/数据库层？

不。就像模板系统，模型/数据库层是与框架的其余部分分离的。

唯一例外的是：如果你使用其他的数据库库，你没办法使用 Django 自动生成的后台界面。这个应用是和 Django 数据库层耦合的。

## 我要怎么使用图片和文件字段？

在模型中使用 [`FileField`](/zh-hans/6.1/ref/models/fields/#django.db.models.FileField) 或 [`ImageField`](/zh-hans/6.1/ref/models/fields/#django.db.models.ImageField)  ，你还需要完成如下步骤：

1. 在你的配置文件中，你需要将 [`MEDIA_ROOT`](/zh-hans/6.1/ref/settings/#std-setting-MEDIA_ROOT) 定义为你希望 Django 存储上传文件的目录的完整路径。（为了提高性能，这些文件不会存储在数据库中。）将 [`MEDIA_URL`](/zh-hans/6.1/ref/settings/#std-setting-MEDIA_URL) 定义为该目录的基本公共 URL。确保这个目录是可以被网络服务器的用户账户写入的。
2. 在你的模型中添加 [`FileField`](/zh-hans/6.1/ref/models/fields/#django.db.models.FileField) 或者 [`ImageField`](/zh-hans/6.1/ref/models/fields/#django.db.models.ImageField) ，可以通过定义 [`upload_to`](/zh-hans/6.1/ref/models/fields/#django.db.models.FileField.upload_to) 在 [`MEDIA_ROOT`](/zh-hans/6.1/ref/settings/#std-setting-MEDIA_ROOT) 中明确一个子目录用来上传文件。
3. 所有将被储存在数据库中的文件路径相同（相对于 [`MEDIA_ROOT`](/zh-hans/6.1/ref/settings/#std-setting-MEDIA_ROOT)）。你很想用由 Django 提供的 [`url`](/zh-hans/6.1/ref/models/fields/#django.db.models.fields.files.FieldFile.url)，比如， 如果 [`ImageField`](/zh-hans/6.1/ref/models/fields/#django.db.models.ImageField) 被叫做 `mug_shot`， 你就可以得到 `{{ object.mug_shot.url }}` 图片模板的绝对路径。

## 我如何让一个变量可用于我的所有模板之中？

有时候你的模板会需要相同的东西。一个常见的例子是动态生成的菜单。乍一看，在模板上下文中添加一个通用字典似乎是合乎逻辑的。

最好方法是使用 `RequestContext`。关于如何使用它请查看：[使用 RequestContext](/zh-hans/6.1/ref/templates/api/#subclassing-context-requestcontext)。
