第2天:项目结构与配置深入

第2天:项目结构与配置深入

目标

熟悉Django项目结构,配置基础设置。

任务概览
  1. 理解Django项目结构。
  2. 配置settings.py
  3. 理解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文件包含了项目的所有配置。以下是一些基本设置:

python 复制代码
# 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:

python 复制代码
# 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模式:

python 复制代码
# 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的模型系统。

相关推荐
青 春 记 忆5 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
GlueNa2SiO35 小时前
03-Flask模板引擎Jinja2详解
笔记·python·flask
东风破_5 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
东风破_5 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
大鸡腿同学6 小时前
黄仁勋点透的 AI 真相:能实现你知道但做不到的,却实现不了你不知道的
后端
FfHUCisI6 小时前
Go 编译过程全景
开发语言·后端·golang
FfHUCisI6 小时前
Golang 语法分析与 AST:Parser 与 go/ast
开发语言·后端·golang
临沂GEO7 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白7 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
++==8 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful