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

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.dtcms.com/a/264912.html

相关文章:

  • Linux基本命令篇 —— which命令
  • 无人机AI制导模块运行方式概述
  • 免费版安全性缩水?ToDesk、TeamViewer、向日葵、网易UU远程访问隐私防护测评
  • 【C#引用DLL详解】
  • 使用 JavaScript、Mastra 和 Elasticsearch 构建一个具备代理能力的 RAG 助手
  • docker离线/在线环境下安装elasticsearch
  • SpringCloud系列(47)--SpringCloud Bus实现动态刷新定点通知
  • springboot切面编程
  • 大数据Hadoop之——Hbase下载安装部署
  • CSS外边距合并(塌陷)全解析:原理、场景与解决方案
  • OD 算法题 B卷【求最小步数】
  • 计算机视觉的新浪潮:扩散模型(Diffusion Models)技术剖析与应用前景
  • 360安全卫士占用5037端口(ADB端口)解决方案
  • 【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
  • 智慧赋能高压并网:分布式光伏监控系统在5.88MW物流园项目的实践解析
  • 深入解析 OPC UA:工业自动化与物联网的关键技术
  • css实现优惠券效果 全
  • DAY 45 通道注意力(SE注意力)
  • langchain从入门到精通(三十四)——RAG优化策略(十)父文档检索器实现拆分和存储平衡
  • JavaFX:属性Property简介
  • 集合-二叉搜索树
  • 【在 C# 中通过 P/Invoke 调用 C++ DLL 时的数据类型转换】
  • 第二章-AIGC入门-文本生成:开启内容创作新纪元(4/36)
  • 字典课后练习讲解|5类数据容器的总结对比
  • 存储过程封装:复杂业务逻辑的性能优化
  • AntV L7 之LarkMap 地图
  • A模块 系统与网络安全 第三门课 网络通信原理-4
  • Notion 创始人 Ivan Zhao:传统软件开发是造桥,AI 开发更像酿酒,提供环境让 AI 自行发展
  • 机器学习在智能制造业中的应用:质量检测与设备故障预测
  • 使用v-bind指令绑定属性