django开发流程1
一、官方网站:
Django documentation | Django documentation | Djangohttps://docs.djangoproject.com/en/5.1/
1.安装 django :
pip install django
2. django项目的配置文件 (settings.py)
BASE_DIR 项目根路径
DEBUG 调试模式
INSTALLED_APPS 注册的应用
ROOT_URLCONF 主路由文件
DATABASES 数据库配置
LANGUAGE_CODE 语言编码
TEMPLATES 模板路径配置
更加底层的django框架的配置文件 django conf global_settings.py
二、快速入门
1. 创建项目
django-admin.exe startproject mysite
2. 启动项目
1.cd mysite
2.python .\manage.py runserver
3.python .\manage.py migrate
首先输入进入mysite cd mysite
然后运行python .\manage.py runserver 启动
当出现警告信息 You have 18 unapplied migration(s) 你有18个未应用的迁移
输入 python .\manage.py migrate
3.创建超级管理员
1.python .\manage.py createsuperuser
python .\manage.py createsuperuser
用户名
邮箱
密码
使用路由 /admin/
创建完成后,重新启动 python .\manage.py runserver
4.创建应用:
1.python .\manage.py startapp main
2. 在settings.py中引入 main
3. 安装pip install Pillow
5.注册模型类
6.后台管理
运行结果:
7.ORM 对象 关系 映射 将面向对象语法 转换为 sql语句
类 对应 表
实例 对应 表中一行
实例的属性 对应 表中一列
python .\manage.py shell
没有启动服务器 但是可以使用项目环境
from main.models import Category, Book
CURD
插入语句
调用实例的save()方法
>>> c1 = Category()
>>> c1.title = "穿越小说"
>>> c1.save()
>>> b1 = Book()
>>> b1.title = "射雕英雄传"
>>> b1.category=c1
>>> b1.save()
查询语句
Category.objects.all()
使用下标[0]
Category.objects.first()
Category.objects.last()
删除语句
b1.delete()
Book.objects.last().delete()
更新语句
>>> b1.category = Category.objects.first()
>>> b1.save()
8.路由与视图函数
(1)总路由文件 mysite.urls
(2)新建的main应用
新建子路由文件urls.py
编写路由,访问对应路由会执行视图函数
from django.urls import path
from . import views
# 应用路由
urlpatterns = [
# 第一个参数是路由路径 第二个参数是路由对应的视图函数 第三个参数是路由名字
path('index/', views.index, name="index"),
path('about/', views.about, name="about")
]
新建的路由文件需要被总路由引入
from django.contrib import admin
from django.urls import path, include
# 总路由
urlpatterns = [
path('admin/', admin.site.urls),
# 导入main应用下的路由文件urls(需要自己新建)
path('main/', include('main.urls'))
]
自带视图模块views.py
编写视图函数
from django.http import HttpResponse
def index(request):
"""
新建视图函数
:param request: 用于处理请求信息
:return: 返回响应字符串
"""
return HttpResponse("首页")
def about(request):
return HttpResponse("关于我们")