Django 创建第一个项目
好的!以下是用中文详细讲解如何使用 Django 创建第一个项目的步骤。我会尽量简洁清晰,适合初学者,同时覆盖关键步骤。如果你有任何问题,可以随时提问!
前提条件
- 安装 Python:确保你的电脑已安装 Python(建议版本 3.8 或以上)。可以在命令行输入
python --version
检查。 - 安装 Django:通过 pip 安装 Django,运行以下命令:
pip install django
安装完成后,检查 Django 版本:
django-admin --version
步骤 1:创建 Django 项目
- 创建项目目录:
打开终端(Windows 用 CMD 或 PowerShell,Mac/Linux 用 Terminal),进入你希望存放项目的目录。例如:
cd Desktop
- 创建项目:
使用django-admin
命令创建一个新项目,假设项目名为myproject
:
django-admin startproject myproject
这会在当前目录下生成一个 myproject
文件夹,结构如下:
myproject/
├── manage.py
└── myproject/
├── __init__.py
├── settings.py
├── urls.py
├── asgi.py
└── wsgi.py
manage.py
:用于管理项目的命令行工具。myproject/settings.py
:项目配置文件(数据库、应用等)。myproject/urls.py
:定义 URL 路由。asgi.py
和wsgi.py
:用于部署项目。
步骤 2:运行开发服务器
- 进入项目目录:
cd myproject
- 启动 Django 自带的开发服务器:
python manage.py runserver
默认情况下,服务器运行在 http://127.0.0.1:8000/
。
- 打开浏览器,访问
http://127.0.0.1:8000/
,你会看到 Django 的欢迎页面,说明项目创建成功!
步骤 3:创建第一个应用
Django 项目由多个应用(App)组成,每个应用负责特定功能。例如,一个博客网站可能有 blog
和 users
两个应用。
- 创建应用:
在项目目录下运行:
python manage.py startapp myapp
这会生成一个 myapp
文件夹,结构如下:
myapp/
├── __init__.py
├── admin.py
├── apps.py
├── migrations/
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
- 注册应用:
打开myproject/settings.py
,找到INSTALLED_APPS
列表,添加myapp
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 添加你的应用
]
步骤 4:创建第一个视图
- 编写视图:
打开myapp/views.py
,添加一个简单的视图函数:
from django.http import HttpResponse
def home(request):
return HttpResponse("欢迎体验 Django!这是我的第一个页面!")
- 配置 URL:
- 打开
myproject/urls.py
,添加应用的 URL 路由:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('myapp.urls')), # 添加应用的 URL ]
- 在
myapp
目录下创建urls.py
文件,内容如下:from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), # 根路径映射到 home 视图 ]
- 重新运行服务器:
python manage.py runserver
访问 http://127.0.0.1:8000/
,你会看到页面显示“欢迎体验 Django!这是我的第一个页面!”。
步骤 5:使用模板(可选)
Django 支持模板系统,让页面更动态。
- 创建模板文件夹:
在myapp
目录下创建templates/myapp
文件夹,然后新建home.html
:
<!DOCTYPE html>
<html>
<head>
<title>我的 Django 项目</title>
</head>
<body>
<h1>欢迎体验 Django!</h1>
<p>这是一个简单的模板页面。</p>
</body>
</html>
- 修改视图:
编辑myapp/views.py
,使用模板渲染:
from django.shortcuts import render
def home(request):
return render(request, 'myapp/home.html')
- 配置模板路径(一般无需修改):
确保myproject/settings.py
中的TEMPLATES
配置包含:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
...
},
]
APP_DIRS: True
确保 Django 自动查找每个应用中的 templates
文件夹。
- 重新运行服务器,访问
http://127.0.0.1:8000/
,你会看到模板渲染的页面。
步骤 6:使用数据库(可选)
Django 默认使用 SQLite 数据库,适合开发测试。
- 创建模型:
编辑myapp/models.py
,定义一个简单的模型:
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
def __str__(self):
return self.name
- 生成迁移文件:
python manage.py makemigrations
- 应用迁移:
python manage.py migrate
- 在 Django 管理后台查看:
- 注册模型到
myapp/admin.py
:from django.contrib import admin from .models import Item admin.site.register(Item)
- 创建超级用户:
bash python manage.py createsuperuser
按提示输入用户名、邮箱和密码。 - 运行服务器,访问
http://127.0.0.1:8000/admin/
,登录后即可管理Item
数据。
常见问题
- 端口被占用:
如果runserver
报错端口占用,尝试:
python manage.py runserver 8001
或杀死占用 8000 端口的进程。
- 找不到模板:
确保模板路径正确,且settings.py
中APP_DIRS
为True
。 - 需要更多功能:
可以继续学习 Django 的 MTV(模型-模板-视图)架构、表单处理、用户认证等。
总结
通过以上步骤,你已经成功创建了一个简单的 Django 项目,包含一个应用、视图和模板。你可以基于此扩展功能,比如添加数据库操作、用户登录或更复杂的页面。
如果你有具体需求(例如添加表单、处理静态文件等),请告诉我,我可以进一步讲解!