Django 简介
Django 是一个高级 Python Web 框架,遵循"快速开发"和"DRY(Don't Repeat Yourself)"原则。它提供了强大的 ORM、自带管理后台、模板引擎和安全性功能,适合快速构建复杂的 Web 应用。Django 采用 MTV(Model-Template-View)模式,类似于 MVC。
安装 Django
确保已安装 Python(推荐 3.8+版本)。通过 pip 安装最新稳定版 Django:
bash
pip install django
验证安装:
bash
python -m django --version
创建 Django 项目
使用以下命令创建新项目(项目名为 myproject):
bash
django-admin startproject myproject
目录结构如下:
myproject/
manage.py # 项目管理脚本
myproject/ # 项目配置目录
__init__.py
settings.py # 主配置文件
urls.py # URL 路由配置
asgi.py # ASGI 配置
wsgi.py # WSGI 配置
运行开发服务器
进入项目目录,启动开发服务器:
bash
python manage.py runserver
默认访问 http://127.0.0.1:8000/ 即可看到欢迎页面。
配置基础设置
修改 settings.py 关键配置项:
- 数据库配置(默认 SQLite):
python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
- 静态文件路径:
python
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / "static"]
- 时区和语言:
python
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_TZ = False
创建应用
Django 项目由多个应用组成。创建应用(例如名为 blog):
bash
python manage.py startapp blog
应用目录结构:
blog/
migrations/ # 数据库迁移文件
__init__.py
admin.py # 管理后台配置
apps.py # 应用配置
models.py # 数据模型
tests.py # 测试代码
views.py # 视图逻辑
注册应用
在 settings.py 的 INSTALLED_APPS 中添加新应用:
python
INSTALLED_APPS = [
...,
'blog',
]
定义第一个视图
在 blog/views.py 中编写简单视图:
python
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
配置 URL 路由
- 在
blog目录下创建urls.py:
python
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
- 在项目
myproject/urls.py中包含应用路由:
python
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
数据迁移
首次运行需迁移内置模型(如用户权限):
bash
python manage.py migrate
访问管理后台
创建超级用户:
bash
python manage.py createsuperuser
启动服务器后,访问 http://127.0.0.1:8000/admin 登录管理界面。
模板渲染
- 在
blog下创建templates/blog目录,添加模板文件home.html:
html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>Welcome to {{ site_name }}</h1>
</body>
</html>
- 修改视图以渲染模板:
python
from django.shortcuts import render
def home(request):
context = {
'title': 'Home',
'site_name': 'My Blog'
}
return render(request, 'blog/home.html', context)
以上步骤完成了 Django 的基础配置和核心功能演示。后续可扩展模型定义、表单处理、用户认证等高级功能。