Django 详细入门介绍
1. 什么是 Django?
Django 是一个开源的、用 Python 编写的 Web 框架。它遵循了"快速开发"和"不要重复自己"(DRY)的设计原则,旨在简化复杂的 Web 开发。Django 提供了多种强大的功能模块,如认证系统、管理后台、ORM(对象关系映射)、模板系统等,使开发人员能够更高效地构建和维护复杂的 Web 应用程序。
2. 安装 Django
在开始使用 Django 之前,需要先安装它。可以通过以下命令来安装:
bash
pip install django
要验证安装是否成功,可以使用以下命令查看 Django 的版本:
bash
django-admin --version
3. 创建第一个 Django 项目
要创建一个新项目,可以使用 django-admin
工具:
bash
django-admin startproject myproject
这会创建一个包含以下目录结构的项目:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
- manage.py:一个命令行工具,用于管理项目。
- settings.py:项目的配置文件。
- urls.py:URL 路由配置。
- wsgi.py 和 asgi.py:项目的入口文件,分别用于 WSGI 和 ASGI 服务。
4. 启动开发服务器
Django 自带一个简单的开发服务器,方便开发时使用。可以通过以下命令启动:
bash
python manage.py runserver
默认情况下,服务器会在 http://127.0.0.1:8000/
运行。打开浏览器访问该地址,你应该会看到 Django 的欢迎页面,表示服务器已成功运行。
5. 创建应用程序
Django 项目由多个"应用程序"组成。要创建一个新的应用程序,运行:
bash
python manage.py startapp myapp
这会创建一个包含以下内容的目录:
myapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
migrations/
6. 数据模型和迁移
在 models.py
中定义数据模型,例如:
python
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
published_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
创建模型后,运行以下命令生成迁移文件:
bash
python manage.py makemigrations
然后应用迁移到数据库:
bash
python manage.py migrate
7. 注册模型到管理后台
在 admin.py
中注册模型:
python
from django.contrib import admin
from .models import Article
admin.site.register(Article)
访问 http://127.0.0.1:8000/admin/
并登录后,就可以在后台界面中管理 Article
模型的数据。
8. 编写视图和路由
在 views.py
中定义视图函数:
python
from django.http import HttpResponse
def home(request):
return HttpResponse(\"Hello, Django!\")
在 urls.py
中添加路由:
python
from django.contrib import admin
from django.urls import path
from myapp.views import home
urlpatterns = [
path('admin/', admin.site.urls),
path('', home, name='home'),
]
访问 http://127.0.0.1:8000/
,页面会显示"Hello, Django!"。
9. 使用模板引擎
Django 的模板系统允许动态生成 HTML。创建 templates
目录,并添加 home.html
:
html
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>
修改 views.py
:
python
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {'message': 'Hello, Django with Templates!'})
10. 小结
通过本文,你了解了如何安装和配置 Django,创建应用程序,以及编写简单的视图和路由。Django 提供了强大的功能和丰富的扩展,适合用于快速开发 Web 应用。掌握这些基础知识后,你可以进一步学习如何使用 Django 的表单系统、用户认证、REST API 开发等高级功能。
开始你的 Django 之旅吧!