Django基础(django理论简单查阅)和django项目初始化
Django介绍:(目的:了解Django框架的作用和特点)
作用:
简便、快速的开发数据库驱动的网站
优势:
快速开发 MVT 功能齐全
Django学习版本: 1.11.11
思考: 用django还是flask
开发数据驱动web网站(复杂业务逻辑)
数据分析后的结果展示界面, flask
快速成型应用上线, 就用django
Django设计模式(MVC/MTV)
目的: 了解什么是MVC, MTV
MVC:
M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
MVT:
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
创建django项目:
1.django-admin startproject + 创建的项目名称(mysite)
2.创建完成cd + 项目名称进入
3.创建应用:
python manage.py startapp + 应用名称
配置环境变量
1. Environment variables:[PYTHONUNBUFFERED=1;DJANGO_SETTING_MODULE=mysite.settings]
2. Python interpreter:[选择环境]
3. Working directory:[选择目前的项目名级]
4. 设置-->语言框架-->Django
4.1 Django project root:选择目前项目名级
4.2 Manage script:选择目前项目下的manage.py文件
4.3 Environment variables:[PYTHONUNBUFFERED=1;DJANGO_SETTINGS_MODULE=mysite.settings]
session配置:
在settings.py中添加apps路径
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
注:sys需要导入包
将app里的apps文件注册到session文件中
INSTALLED_APPS = [
'user.apps.UserConfig',
]
注:pycharm无法联想,需要把apps文件夹设置为源根
AUTH_USER_MODEL = 'user.User'
user = apps名
User = 模型名
配置mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'syldb', # 指定数据库名称
'USER': 'root', #mysql账号
'PASSWORD': '1', #mysql密码
'HOST': '127.0.0.1', #路由
'PORT': '3306', #mysql端口号
}
BASE_DIR:项目在操作系统中的绝对路径
DEBUG:调试模式,默认是True
LANGUAGE_CODE = 'en-us' # zh-hans(中文)
USE_I18N = True # 国际化, 多语言
TIME_ZONE = 'UTC' # Asia/Shanghai(中国时间)
USE_L10N = True # 时间相关, 时间显示格式, 中文时间格式 xxxx年xx月xx日 21:21:21
USE_TZ = True # 时间相关, 使用时区时间, 如果发现时间差8个小时,就查看这个配
路径问题:
python中的三种路径
1. 操作系统文件绝对路径
django 静态文件查找, 模板查找(第一种)
去配置好的 文件夹 中查找指定的文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(**file**)))
2.django 导包路径(第二种)
导包之前, 包的上级路径, 需要存在于 python system 的 path
sys.path 这是一个列表
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
from xxx import yyy 才能成功
3.django 模型引用路径(第三种)
想使用 一个 models.py 文件中的模型
apps名称.model模型名
'users.User'
建表迁移
model 文件写表
Django默认认证用户模型
from django.db import models
from django.contrib.auth.models import AbstractUser
Create your models here. class User(AbstractUser):
phone = models.CharField('手机号',max_length=20)
img = models.ImageField(upload_to='user',null=True)
nick_name = models.CharField('昵称',max_length=20)
address = models.CharField('地址',max_length=255)
class Meta:
db_table = 'tb_user'
执行迁移命令:
python manager.py makemigrations
python manager.py migrate
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性