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


相关推荐
lqlj22339 分钟前
Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库
数据库·sql·spark
遗憾皆是温柔44 分钟前
MyBatis—动态 SQL
java·数据库·ide·sql·mybatis
未来之窗软件服务1 小时前
Cacti 未经身份验证SQL注入漏洞
android·数据库·sql·服务器安全
fengye2071612 小时前
在MYSQL中导入cookbook.sql文件
数据库·mysql·adb
Ailovelearning2 小时前
neo4j框架:ubuntu系统中neo4j安装与使用教程
数据库·neo4j
_星辰大海乀3 小时前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
未来之窗软件服务4 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12244 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#
Q_Q19632884754 小时前
python的家教课程管理系统
开发语言·spring boot·python·django·flask·node.js·php
Leo.yuan4 小时前
基于地图的数据可视化:解锁地理数据的真正价值
大数据·数据库·信息可视化·数据挖掘·数据分析