第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的模型系统。

相关推荐
Chef_Chen8 分钟前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
customer0820 分钟前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
千澜空28 分钟前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
2402_8575893630 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
斯凯利.瑞恩35 分钟前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
一只爱打拳的程序猿1 小时前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
yannan201903131 小时前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁1 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
极客小张1 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩