第2天:项目结构与配置深入
目标
熟悉Django项目结构,配置基础设置。
任务概览
- 理解Django项目结构。
- 配置
settings.py
。 - 理解Django的URL配置。
详细步骤
理解Django项目结构
Django项目由一个或多个应用(apps)组成。每个应用负责一部分功能,例如用户认证、博客文章等。项目结构通常如下:
myproject/
│
├── manage.py # 管理项目的工具
└── myproject/
├── __init__.py # 使Python将此目录视为包
├── asgi.py # ASGI配置
├── settings.py # 项目设置
├── urls.py # URL声明
└── wsgi.py # WSGI配置
配置settings.py
settings.py
文件包含了项目的所有配置。以下是一些基本设置:
# myproject/myproject/settings.py
# 指定Django的版本
import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'your_secret_key'
DEBUG = True
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
# 应用配置
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 添加你的应用
'myapp', # 假设你的应用名为myapp
]
# 数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
# 静态文件和媒体文件的配置
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
# 模板配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]
理解Django的URL配置
URL配置是Django路由系统的核心。它将URL模式映射到视图函数。在urls.py
文件中配置URL:
# myproject/myproject/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# 包括其他应用的URL配置
path('blog/', include('myapp.urls')), # 假设你的应用名为myapp
]
在应用目录中,创建一个urls.py
文件来定义应用的URL模式:
# myproject/myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
# 其他URL模式
]
学习要点
- 熟悉
settings.py
中的常用设置。 - 理解URL配置和路由机制。
- 学会如何将应用的URL模式包含到项目的URL配置中。
每日回顾
- 确认
settings.py
配置正确。 - 确保URL配置能够正确解析请求到相应的视图。
明日计划
- 创建一个新的Django应用。
- 学习如何定义模型并进行数据库迁移。
通过今天的学习,你应该对Django的项目结构和配置有了更深入的了解。明天,我们将创建一个新的应用并开始学习Django的模型系统。