Django REST Marshmallow 项目教程
1. 项目的目录结构及介绍
Django REST Marshmallow 项目的目录结构通常遵循 Django 项目的标准结构。以下是一个典型的目录结构及其介绍:
django-rest-marshmallow/
├── django_rest_marshmallow/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── asgi.py
├── manage.py
├── requirements.txt
└── README.md
目录结构介绍
- django_rest_marshmallow/: 这是 Django 项目的主目录,包含了项目的核心文件。
- __init__.py: 使该目录成为一个 Python 包。
- settings.py: 项目的配置文件,包含了数据库配置、应用配置、中间件等。
- urls.py: 项目的 URL 配置文件,定义了 URL 与视图函数的映射关系。
- wsgi.py: WSGI 配置文件,用于部署项目。
- asgi.py: ASGI 配置文件,用于异步部署项目。
- manage.py: Django 项目的管理脚本,用于启动开发服务器、运行迁移、创建超级用户等。
- requirements.txt: 项目依赖文件,列出了项目所需的所有 Python 包。
- README.md: 项目的说明文件,通常包含项目的介绍、安装步骤、使用说明等。
2. 项目的启动文件介绍
manage.py
manage.py
是 Django 项目的管理脚本,提供了许多用于管理项目的命令。以下是一些常用的命令:
-
启动开发服务器:
python manage.py runserver
该命令会启动一个开发服务器,默认运行在
http://127.0.0.1:8000/
。 -
创建迁移文件:
python manage.py makemigrations
该命令会根据模型定义生成迁移文件。
-
运行迁移:
python manage.py migrate
该命令会应用迁移文件,将模型定义同步到数据库。
-
创建超级用户:
python manage.py createsuperuser
该命令会创建一个具有管理权限的用户。
3. 项目的配置文件介绍
settings.py
settings.py
是 Django 项目的配置文件,包含了项目的各种配置选项。以下是一些重要的配置项:
-
INSTALLED_APPS:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_marshmallow', ]
该配置项列出了项目中安装的所有应用。
-
DATABASES:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
该配置项定义了项目使用的数据库。
-
MIDDLEWARE:
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
该配置项列出了项目中使用的中间件。
-
TEMPLATES:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
该配置项定义了模板引擎的配置。
-
STATIC_URL:
STATIC_URL = '/static/'
该配置项定义了静态文件的 URL 前缀。
通过以上配置,Django REST Marshmallow 项目可以正常运行并提供 RESTful API 服务。