当前位置: 首页 > ops >正文

Django 安装使用教程

一、Django 简介

Django 是一个高级 Python Web 框架,鼓励快速开发和简洁实用的设计。它内置 ORM、认证系统、后台管理、表单处理、路由控制等功能,广泛用于开发企业级网站、内容管理系统、电商平台等。


二、环境准备

2.1 安装 Python

Django 基于 Python 开发,请先安装 Python 3.7 及以上版本:

python3 --version

若未安装,可前往官网下载安装:https://www.python.org/downloads/


2.2 创建虚拟环境(推荐)

python3 -m venv venv
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate   # Windows

三、安装 Django

使用 pip 安装最新版 Django:

pip install django

验证安装:

django-admin --version

四、创建 Django 项目

django-admin startproject mysite
cd mysite
python manage.py runserver

访问:http://127.0.0.1:8000


五、创建应用(App)

python manage.py startapp blog

注册 app:

mysite/settings.pyINSTALLED_APPS 添加:

INSTALLED_APPS = [...'blog',
]

六、数据库迁移与模型创建

6.1 定义模型

blog/models.py 中添加:

from django.db import modelsclass Post(models.Model):title = models.CharField(max_length=100)content = models.TextField()created_at = models.DateTimeField(auto_now_add=True)

6.2 执行迁移

python manage.py makemigrations
python manage.py migrate

七、Django 后台管理

7.1 创建超级用户

python manage.py createsuperuser

7.2 注册模型

blog/admin.py 添加:

from django.contrib import admin
from .models import Postadmin.site.register(Post)

访问后台:http://127.0.0.1:8000/admin


八、配置 URL 路由

blog/views.py 中添加视图:

from django.http import HttpResponsedef index(request):return HttpResponse("Hello Django!")

blog/urls.py 中定义路由:

from django.urls import path
from . import viewsurlpatterns = [path('', views.index),
]

mysite/urls.py 中引入:

from django.urls import include, pathurlpatterns = [path('', include('blog.urls')),path('admin/', admin.site.urls),
]

九、常见问题

Q1: 启动时报错 “ModuleNotFoundError”?

确认是否在虚拟环境中,或模块未正确安装。

Q2: 网页样式错乱?

Django 默认不提供静态文件服务,需配置 STATIC_URLSTATICFILES_DIRS


十、推荐学习资源

  • Django 官方文档
  • 菜鸟教程 Django
  • Django Girls 教程
  • 廖雪峰 Django 教程

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.xdnf.cn/news/14780.html

相关文章:

  • OpenHarmony 5.0监听导航栏和状态栏是否显示
  • OpenCV CUDA模块设备层-----高效地计算两个uint 类型值的平均值函数vavg2()
  • android核心技术摘要
  • gin框架 中间件 是在判断路由存在前执行还是存在后执行的研究
  • 机器学习:集成学习方法之随机森林(Random Forest)
  • 【Unity】MiniGame编辑器小游戏(九)打砖块【Breakout】
  • 【前端】基础 - HTML基础标签和样式设置
  • 【新手小白的嵌入式学习之路】-STM32的学习_GPIO 8种模式学习心得
  • 第二章AIGC入门:打开人工智能生成内容的新世界大门(3/36)
  • Windows连接L2TP/IPsec 协议 VPN失败
  • QT异步操作
  • Kuikly 与 Flutter 的全面对比分析,结合技术架构、性能、开发体验等核心维度
  • QT初识-实现Hello World(2)
  • Qt Quick 与 QML(五)qml中的布局
  • 运维打铁: 数据加密与备份恢复策略制定
  • 免费版安全性缩水?ToDesk、TeamViewer、向日葵、网易UU远程访问隐私防护测评
  • 【卡尔曼滤波第一期】α−β−γ 滤波器概述
  • [CS创世SD NAND征文] 精准控制的坚固基石:CS创世SD NAND在华大HC32F4A0运动控制卡中的高可靠应用
  • 如何在Excel中每隔几行取一行
  • Foundation 5 安装使用教程
  • 【仿muduo库实现并发服务器】Poller模块
  • Python应用指南:利用高德地图API获取公交+地铁可达圈(二)
  • UE5.6 官方文档笔记 [1]——虚幻编辑器界面
  • Qt_Creator入门基础知识
  • BFD故障检测技术之概述
  • 2025 推理技术风向标:DeepSeek-R1 揭示大模型从 “记忆” 到 “思考” 的进化路径
  • k8s将service的IP对应的不同端口分配到不同的pod上
  • day48
  • 【仿muduo库实现并发服务器】Connection模块
  • 630,百度文心大模型4.5系列开源!真香