【玩转全栈】----Django基本配置和介绍

Django 简介

Django 是一个高级 Python Web 框架,遵循"快速开发"和"DRY(Don't Repeat Yourself)"原则。它提供了强大的 ORM、自带管理后台、模板引擎和安全性功能,适合快速构建复杂的 Web 应用。Django 采用 MTV(Model-Template-View)模式,类似于 MVC。

安装 Django

确保已安装 Python(推荐 3.8+版本)。通过 pip 安装最新稳定版 Django:

bash 复制代码
pip install django

验证安装:

bash 复制代码
python -m django --version

创建 Django 项目

使用以下命令创建新项目(项目名为 myproject):

bash 复制代码
django-admin startproject myproject

目录结构如下:

复制代码
myproject/
    manage.py           # 项目管理脚本
    myproject/          # 项目配置目录
        __init__.py
        settings.py     # 主配置文件
        urls.py         # URL 路由配置
        asgi.py         # ASGI 配置
        wsgi.py         # WSGI 配置

运行开发服务器

进入项目目录,启动开发服务器:

bash 复制代码
python manage.py runserver

默认访问 http://127.0.0.1:8000/ 即可看到欢迎页面。

配置基础设置

修改 settings.py 关键配置项:

  1. 数据库配置(默认 SQLite):
python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
  1. 静态文件路径
python 复制代码
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / "static"]
  1. 时区和语言
python 复制代码
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_TZ = False

创建应用

Django 项目由多个应用组成。创建应用(例如名为 blog):

bash 复制代码
python manage.py startapp blog

应用目录结构:

复制代码
blog/
    migrations/         # 数据库迁移文件
    __init__.py
    admin.py            # 管理后台配置
    apps.py             # 应用配置
    models.py           # 数据模型
    tests.py            # 测试代码
    views.py            # 视图逻辑

注册应用

settings.pyINSTALLED_APPS 中添加新应用:

python 复制代码
INSTALLED_APPS = [
    ...,
    'blog',
]

定义第一个视图

blog/views.py 中编写简单视图:

python 复制代码
from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django!")

配置 URL 路由

  1. blog 目录下创建 urls.py
python 复制代码
from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]
  1. 在项目 myproject/urls.py 中包含应用路由:
python 复制代码
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

数据迁移

首次运行需迁移内置模型(如用户权限):

bash 复制代码
python manage.py migrate

访问管理后台

创建超级用户:

bash 复制代码
python manage.py createsuperuser

启动服务器后,访问 http://127.0.0.1:8000/admin 登录管理界面。

模板渲染

  1. blog 下创建 templates/blog 目录,添加模板文件 home.html
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>Welcome to {{ site_name }}</h1>
</body>
</html>
  1. 修改视图以渲染模板:
python 复制代码
from django.shortcuts import render

def home(request):
    context = {
        'title': 'Home',
        'site_name': 'My Blog'
    }
    return render(request, 'blog/home.html', context)

以上步骤完成了 Django 的基础配置和核心功能演示。后续可扩展模型定义、表单处理、用户认证等高级功能。

相关推荐
Leon-Ning Liu8 分钟前
Oracle 19c RAC报错ORA-17503,ORA-27300,ORA-27301,ORA-27302
数据库·oracle
嘟嘟w35 分钟前
DROP DELETE 和TRUNCATE的区别?
数据库·mysql·oracle
Navicat中国1 小时前
Navicat x 达梦技术指引 | 数据字典
数据库·达梦·可视化·navicat·数据字典
running up1 小时前
Spring核心深度解析:AOP与事务管理(TX)全指南
java·数据库·spring
一水鉴天1 小时前
整体设计 定稿 之6 完整设计文档讨论及定稿 之1(豆包周助手)
java·前端·数据库
倔强的石头_2 小时前
金仓数据库(KingbaseES) 开发实战:常见迁移挑战与技术解析
数据库
编程小白gogogo2 小时前
苍穹外卖后端环境搭建-数据库环境搭建
数据库
星哥说事2 小时前
基于 MySQL Monitoring and Management 的性能保障实践
数据库·mysql
此生只爱蛋2 小时前
【Redis】列表List类型
数据库·redis·缓存
Jaising6662 小时前
Mybatis Plus 主键生成器实现思路分析
数据库·spring boot·mybatis