Django 详细入门介绍

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.pyasgi.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/
  • admin.py:用于注册模型到 Django 管理后台。
  • models.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 之旅吧!


相关推荐
这个DBA有点耶3 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码5 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB9 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence10 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头10 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
ikun_文11 小时前
Django框架路由Router的使用
python·pycharm·django
草莓熊Lotso12 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠14 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_20 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js