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 之旅吧!


相关推荐
zzb15808 小时前
RAG from Scratch-优化-query
java·数据库·人工智能·后端·spring·mybatis
一只鹿鹿鹿8 小时前
信息安全等级保护安全建设防护解决方案(总体资料)
运维·开发语言·数据库·面试·职场和发展
堕2748 小时前
MySQL数据库《基础篇--数据库索引(2)》
数据库·mysql
wei_shuo8 小时前
数据库优化器进化论:金仓如何用智能下推把查询时间从秒级打到毫秒级
数据库·kingbase·金仓
雷工笔记8 小时前
Navicat Premium 17 软件安装记录
数据库
wenlonglanying9 小时前
Ubuntu 系统下安装 Nginx
数据库·nginx·ubuntu
数据库小组9 小时前
10 分钟搞定!Docker 一键部署 NineData 社区版
数据库·docker·容器·database·数据库管理工具·ninedata·迁移工具
爬山算法9 小时前
MongoDB(38)如何使用聚合进行投影?
数据库·mongodb
l1t9 小时前
Deep Seek总结的APSW 和 SQLite 的关系
数据库·sqlite
Pocker_Spades_A10 小时前
基于代价模型的连接条件下推:复杂SQL查询的性能优化实践
数据库·sql·性能优化