Django 优势
-
自带后台、认证、ORM、权限系统:一条命令就能搭好半套系统。
-
稳定成熟:十几年的大项目经验(Instagram、Pinterest、Disqus都是 Django)。
-
生态丰富:有大量插件,能快速上功能,比如 Django REST framework。
-
团队友好:多人协作规范完整,有比较强的 Model-View-Template 结构。
使用范围
电商网站、CMS后台、大型企业管理系统(ERP/CRM)这种完整型应用。
Django 搭建
1、安装 python 3.x
python –version
2、安装 Django
pip install django
3、创建 Django 项目
django-admin startproject myproject
就会生成一个 myproject 文件夹,里面有:
- manage.py
- myproject/settings.py
- myproject/urls.py
等基础文件
4、运行 Django 开发服务器
cd myproject
python manage.py runserver
看到类似:
Starting development server at http://127.0.0.1:8000/
然后浏览器访问:
👉 http://127.0.0.1:8000/
就能看到 Django 欢迎页了!
5、创建一个应用(App)
在项目里新建一个业务模块,比如 blog:
python manage.py startapp blog
它会生成一个 blog/ 文件夹,里面有 views.py, models.py 等。
记得在 myproject/settings.py 里注册你的 App:
INSTALLED_APPS = [ # 其他 'blog', ]
6、写个最简单的视图
编辑 blog/views.py:
from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!")
7、配置路由:
编辑 myproject/urls.py:
from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index), # 首页显示 Hello ]
刷新浏览器,
就能看到 “Hello, Django!” 出来了!
8、配置数据库
默认 Django 是配 SQLite,很简单。
如果你要连 PostgreSQL,来,跟着这几步做:
1. 安装 PostgreSQL 数据库
官网:https://www.postgresql.org/download/
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
2.安装 PostgreSQL 驱动
用 psycopg2,是Django官方推荐的。
pip install psycopg2-binary
(注意是 -binary 版,安装最快,适合开发环境)
3.修改 Django 配置 settings.py
找到 DATABASES 配置块,改成连接 PostgreSQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': '你的数据库名', 'USER': '你的数据库用户名', 'PASSWORD': '你的数据库密码', 'HOST': '你的数据库地址', # 本地是 '127.0.0.1' 'PORT': '5432', # PostgreSQL默认端口 } }
4. 创建数据库和用户
在 PostgreSQL 中,你需要创建一个数据库以及一个数据库用户,并赋予该用户相应的权限。可以通过 psql 命令行工具来执行以下操作:
4.1) 登录 PostgreSQL:
psql -U postgres
4.2) 创建数据库:
CREATE DATABASE your_database_name;
4.3) 创建数据库用户:
CREATE USER your_database_user WITH PASSWORD ‘your_database_password’;
4.4) 授权该用户访问数据库:
GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_database_user;
4.5) 退出 PostgreSQL:
\q
5.进行数据库迁移
Django 的迁移功能会根据模型的变化自动生成数据库表。
5.1) 创建迁移文件:
python manage.py makemigrations
5.2) 应用迁移,将模型结构同步到 PostgreSQL 数据库:
python manage.py migrate
这会根据你在模型中定义的表结构,在 PostgreSQL 中创建相应的表。
6.测试数据库连接
python manage.py runserver
如果没报错,并且能够正常访问页面,则表示数据库连接成功。🚀
9、调整项目标准目录结构(适合 SaaS 系统)
myproject/ manage.py config/ # 👉 原来的 settings.py、urls.py、wsgi.py、asgi.py 都放这里 __init__.py settings/ __init__.py base.py # 通用配置 dev.py # 开发环境配置 prod.py # 生产环境配置 urls.py wsgi.py asgi.py apps/ # 👉 各种业务模块放 apps 里 blog/ __init__.py models.py views.py urls.py admin.py apps.py accounts/ ... requirements.txt # 👉 项目依赖列表 README.md # 👉 项目说明
在这种结构下,新建模块统一在 apps 目录里:
cd apps
django-admin startapp blog
然后记得在 config/settings/base.py 里注册 blog。
(可以自己写个小脚本,自动生成标准化的App结构!)
调整完后需要修改配置
config/settings/base.py
ROOT_URLCONF = 'config.urls'
WSGI_APPLICATION = 'config.wsgi.application'
manage.py/wsgi.py/asgi.py
10、访问后台
1.创建超级管理员
python manage.py createsuperuser 键入你想要使用的用户名,然后按下回车键: Username: admin 然后提示你输入想要使用的邮件地址: Email address: admin@example.com 最后一步是输入密码。你会被要求输入两次密码,第二次的目的是为了确认第一次输入的确实是你想要的密码。
Password: ********** Password (again): ********* Superuser created successfully.
复现 php 中的 MVC 架构
在 Django 中,MVC 架构通常被映射为 MTV(Model-Template-View) 架构,主要差异在于 Django 将 视图(View) 和 模板(Template) 做了区分,因此视图部分处理的是 HTTP 请求的逻辑和数据,而模板则处理 HTML 的渲染。
-
Model:负责数据的管理和数据库操作。
-
Template:负责 HTML 模板的呈现,是视图的一部分。
-
View:处理请求,业务逻辑,调用模型操作数据,并将数据传递到模板。
1