每天40分玩转Django:简介和环境搭建

Django简介和环境搭建

一、课程概述

学习项目 具体内容 预计用时
Django概念 Django框架介绍、MVC/MTV模式、Django特点 60分钟
环境搭建 Python安装、pip配置、Django安装、IDE选择 45分钟
创建项目 项目结构、基本配置、运行测试 75分钟
实战练习 创建个人博客项目框架 60分钟

二、Django框架介绍

2.1 什么是Django?

Django是一个高级的Python Web框架,它鼓励快速开发和清晰、实用的设计。由经验丰富的开发人员构建,它解决了Web开发中的许多麻烦,因此你可以专注于编写应用程序,而无需重新发明轮子。最重要的是,它是免费和开源的。

2.2 Django的主要特点

  1. 快速开发:Django的设计目标之一就是帮助开发者快速从概念到完成应用
  2. 安全可靠:内置防御跨站请求伪造、SQL注入、跨站脚本等攻击手段
  3. 扩展性强:可以使用"应用"的概念将项目分割成多个应用
  4. 丰富的功能:包含ORM、Admin后台、Forms表单等常用功能
  5. 完善的文档:拥有完善的在线文档和开发社区

2.3 MVC与MTV模式

Django使用MTV模式,这是MVC的Django实现:

MVC模式 MTV模式 说明
Model Model 数据库表的设计和操作
View Template 页面的设计和展示
Controller View 业务逻辑的处理

三、环境搭建

3.1 Python安装

  1. 访问Python官网下载Python 3.x版本(推荐3.8以上)
  2. 安装时勾选"Add Python to PATH"
  3. 验证安装:打开命令行输入
bash 复制代码
python --version

3.2 pip配置(Python包管理工具)

  1. pip通常随Python一起安装
  2. 验证pip安装:
bash 复制代码
pip --version
  1. 配置国内镜像源(可选,但推荐):
bash 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

3.3 Django安装

bash 复制代码
pip install django

验证Django安装:

python 复制代码
import django
print(django.get_version())

四、创建第一个Django项目

4.1 创建项目

bash 复制代码
django-admin startproject mysite

4.2 项目结构说明

复制代码
mysite/
    ├── manage.py           # 项目管理文件
    └── mysite/
        ├── __init__.py     # 空文件,表明该目录是一个Python包
        ├── settings.py     # 项目设置文件
        ├── urls.py         # URL声明文件
        ├── asgi.py        # ASGI兼容的Web服务器的入口
        └── wsgi.py        # WSGI兼容的Web服务器的入口

4.3 基本配置(settings.py

python 复制代码
# mysite/settings.py

# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# 语言和时区设置
LANGUAGE_CODE = 'zh-hans'  # 设置语言为中文
TIME_ZONE = 'Asia/Shanghai'  # 设置时区为中国时区
USE_I18N = True
USE_L10N = True
USE_TZ = True

# 静态文件设置
STATIC_URL = '/static/'

4.4 创建应用

bash 复制代码
python manage.py startapp blog

应用结构:

复制代码
blog/
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations/
    ├── models.py
    ├── tests.py
    └── views.py

4.5 注册应用

python 复制代码
# mysite/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',  # 添加新创建的应用
]

五、实战练习:创建个人博客项目

5.1 创建视图(blog/views.py)

python 复制代码
from django.http import HttpResponse
from django.shortcuts import render

def index(request):
    return HttpResponse("欢迎访问我的博客!")

def post_list(request):
    context = {
        'title': '博客文章列表',
        'posts': [
            {
                'title': '第一篇博客',
                'content': '这是我的第一篇博客内容...',
                'date': '2024-01-01'
            },
            {
                'title': '第二篇博客',
                'content': '这是我的第二篇博客内容...',
                'date': '2024-01-02'
            }
        ]
    }
    return render(request, 'blog/post_list.html', context)

5.2 创建URL配置(blog/urls.py)

python 复制代码
from django.urls import path
from . import views

app_name = 'blog'

urlpatterns = [
    path('', views.index, name='index'),
    path('posts/', views.post_list, name='post_list'),
]

5.3 主URL配置(mysite/urls.py)

python 复制代码
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

5.4 创建模板

  1. 在blog应用目录下创建templates文件夹
  2. 在templates下创建blog文件夹
  3. 创建post_list.html模板:
html 复制代码
<!-- blog/templates/blog/post_list.html -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>
    {% for post in posts %}
        <article>
            <h2>{{ post.title }}</h2>
            <p>{{ post.content }}</p>
            <p>发布日期:{{ post.date }}</p>
        </article>
        <hr>
    {% endfor %}
</body>
</html>

5.5 运行开发服务器

bash 复制代码
python manage.py runserver

访问以下URL测试:

六、调试和开发工具

6.1 推荐的IDE

  1. PyCharm Professional(推荐):

    • 内置Django支持
    • 智能代码补全
    • 调试工具
    • 数据库工具
  2. Visual Studio Code + Python插件:

    • 轻量级
    • 免费开源
    • 丰富的插件生态

6.2 Django Debug Toolbar

安装Debug Toolbar:

bash 复制代码
pip install django-debug-toolbar

配置settings.py

python 复制代码
INSTALLED_APPS = [
    ...
    'debug_toolbar',
]

MIDDLEWARE = [
    ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
]

INTERNAL_IPS = [
    '127.0.0.1',
]

七、常见问题和解决方案

  1. 数据库迁移问题:
bash 复制代码
python manage.py makemigrations
python manage.py migrate
  1. 静态文件不显示:
python 复制代码
# settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "static",
]
  1. 模板找不到:
    检查TEMPLATES设置:
python 复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        'APP_DIRS': True,
        ...
    },
]

八、学习成果检验

完成以下任务来检验今天的学习效果:

  1. 创建一个新的Django项目
  2. 添加一个新的应用
  3. 创建一个简单的视图和模板
  4. 配置URL路由
  5. 运行项目并访问创建的页面

九、进阶任务

  1. 尝试使用Django的模板继承
  2. 添加静态文件(CSS、JavaScript)
  3. 实现一个简单的表单处理
  4. 配置Django Admin后台

记住:学习Django是一个循序渐进的过程,今天的内容是为后续的学习打下基础。确保完全理解今天的每个概念,这将有助于更好地理解接下来的高级主题。

建议:

  1. 动手实践每个示例代码
  2. 记录遇到的问题和解决方案
  3. 尝试修改示例代码,观察结果变化
  4. 查看Django官方文档深入学习

怎么样今天的内容还满意吗?再次感谢朋友们的观看,关注GZH:凡人的AI工具箱,回复666,送您价值199的AI大礼包。最后,祝您早日实现财务自由,还请给个赞,谢谢!

相关推荐
bobz9658 分钟前
ovs patch port 对比 veth pair
后端
Asthenia041218 分钟前
Java受检异常与非受检异常分析
后端
uhakadotcom32 分钟前
快速开始使用 n8n
后端·面试·github
JavaGuide38 分钟前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
bobz9651 小时前
qemu 网络使用基础
后端
Asthenia04121 小时前
面试攻略:如何应对 Spring 启动流程的层层追问
后端
Asthenia04121 小时前
Spring 启动流程:比喻表达
后端
Asthenia04122 小时前
Spring 启动流程分析-含时序图
后端
ONE_Gua2 小时前
chromium魔改——CDP(Chrome DevTools Protocol)检测01
前端·后端·爬虫
致心2 小时前
记一次debian安装mariadb(带有迁移数据)
后端