Django创建应用一
Django 是一个高度模块化的框架
一个项目由很多应用组成,这些应用分为
内置的:自带的应用,如 admin(后台管理)、auth(身份鉴权)、sessions(会话管理)等
自定义的:实现自己业务逻辑的应用
第三方的:社区提供的应用
所有的 Django 应用都在 mydjango/settings.py 的 INSTALLED_APPS 列表中定义
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
django.contrib.admin -- 管理员站点
django.contrib.auth -- 认证授权系统
django.contrib.contenttypes -- 内容类型框架
django.contrib.sessions -- 会话框架
django.contrib.messages -- 消息框架
django.contrib.staticfiles -- 管理静态文件的框架
补充:
项目和应用的区别?
应用是一个专门做某件事的网络应用程序——比如博客系统
项目则是一个网站使用的配置和应用的集合项目可以包含很多个应用
应用可以被很多个项目使用
创建应用
在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。
Django 自带一个工具,可以生成应用的基础目录结构
(1)创建应用
eg:创建应用blog
python manage.py startapp blog
生成的目录结构为
blog // blog应用目录 ├── __init__.py // 初始化模块 ├── admin.py // 后台管理配置 ├── apps.py // 应用配置 ├── migrations // 数据库迁移文件目录 │ └── __init__.py // 数据库迁移初始化模块 ├── models.py // 数据模型 ├── tests.py // 单元测试 └── views.py // 视图
(2)视图View
blog/views.py
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse("Hello,you're at the blog index.")
(3)路由
Django路由系统是由全局路由和子应用路由组成
根据用户输入的 URL,全局路由表进行匹配并选择正确的子应用路由,再由所选择的子应用路由匹配并选择正确的 View
A.将View接入路由
添加 blog/urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
B.接入全局路由表
修改 mydjango/urls.py
from django.contrib import admin from django.urls import include, path from . import view urlpatterns = [ path('admin/', admin.site.urls), path('', view.index,name='home'), path('blog/', include('blog.urls')), ]
启动服务器,http://localhost:8000/blog/
输出
Hello,you're at the blog index.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2018-12-25 Go学习笔记一