【玩转全栈】----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.py 的 INSTALLED_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 的基础配置和核心功能演示。后续可扩展模型定义、表单处理、用户认证等高级功能。

相关推荐
lambo mercy40 分钟前
Day3:结构化输出
java·数据库·oracle
派小心.1 小时前
小程序分享链路中来源参数的传递校验
大数据·前端·数据库·人工智能·小程序·数据分析
Είναι η κοπέλα1 小时前
向量数据库与嵌入模型:Chroma/FAISS/Milvus 选型
数据库·milvus·faiss
IvorySQL1 小时前
从轮询到等待——PostgreSQL WAIT FOR LSN 特性深度解析
数据库·postgresql
OceanBase数据库官方博客2 小时前
被 VLDB 2027接收OceanBase 最新论文让数据库基(技术解析与实践)
数据库·人工智能·oceanbase
Wx-bishekaifayuan3 小时前
springboot桂味美食分享系统40540-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
创邻科技3 小时前
国产图数据库刷新 LDBC 世界纪录:创邻科技 Galaxybase 在 SF100、SF300、SF1000 测试中全面领先”
数据库·科技
GreatSQL社区3 小时前
主从复制SQL线程中断——字符集砸出的坑
java·数据库·算法
XLYcmy3 小时前
AI 赋能后中文与英文数据库对比分析报告 上
数据库·ai·llm·prompt·检索·wos·cnki
这个DBA有点耶4 小时前
ELT 工具选型完整指南:从 ETL 差异分析到工程落地
数据库·架构·代码规范