Easton's Blog Easton's Blog
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)

Easton Yang

爱生活😊爱学习
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)
  • Python

  • Django

    • django基础
      • 开始
      • requirements.txt
      • models-Field
      • models-自定义 Field
      • 单独运行 py 文件,如果有关联到 django 库,比如引用了 model
    • django_orm数据处理
  • 后端
  • Django
eastonyangxu
2023-04-28
目录

django基础

# 开始

1.安装django:pip install django==4.1  (django4.1需要python3.8以上版本)
2.创建django项目:django-admin startproject django_demo
3.创建app:django-admin startapp admin (python manage.py startapp admin)
4.为模型的改变生成迁移文件:python manage.py makemigrations admin  ,可以不指定app,执行所有app
5.查看sql:python manage.py sqlmigrate admin 0001
6.迁移数据库表到数据库中:python manage.py migrate admin    ,可以不指定app,执行所有app

运行项目:
python manage.py runserver (默认启用8000端口)
python manage.py runserver 8080 (启用8080端口)
python manage.py runserver 0.0.0.0:8080  (0.0.0.0可简写为0、监听所有服务器的公开IP)
1
2
3
4
5
6
7
8
9
10
11

# requirements.txt

# 生成 requirements.txt
pip freeze > requirements.txt

# 安装:
pip install -r requirements.txt
1
2
3
4
5

# models-Field

Field 相关文档 (opens new window)

Field常用参数:
1.default:该字段的默认值。可以是一个值或者是个可调用的对象,如果是个可调用对象,每次实例化模型时都会调用该对象。

2.primary_key:如果设置为 True ,将该字段设置为该模型的主键;有为模型中的任何字段指定 primary_key=True,Django 会自动添加一个字段来保存主键。
primary_key=True 意味着 null=False 和 unique=True。一个对象只允许有一个主键。主键字段是只读的。如果您改变了现有对象的主键值,然后将其保存,则会在旧对象旁边创建一个新对象。

3.unique:如果设置为 True,这个字段必须在整个表中保持值唯一;当为 True 时,你不需要指定 db_index,因为 unique 意味着创建一个索引。

4.verbose_name:字段注释

5.validators:验证器,值为列表或元组,可以传多个验证方法/类 参考django自带的验证器:django\core\validators.py

6.db_index:如果是 True,将为该字段创建数据库索引。

7.db_column:自定义列名(自定义字段名)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# models-自定义 Field

文档:https://docs.djangoproject.com/zh-hans/4.1/howto/custom-model-fields/
若自定义 Field 处理的数据结构比字符串,日期,整型,或浮点型更复杂,你可能需要重写 from_db_value() 和 to_python()。
若要展示字段的子类, from_db_value() 将会在从数据库中载入的生命周期中调用,包括聚集和 values() 调用。
to_python(value) 将值转换为正确的 Python 对象。它的作用与 value_to_string() 相反,并且在 clean() 中也被调用。
使用数据库需要双向转换,如果你重写了 from_db_value() 方法,你也必须重写 get_prep_value() 将 Python 对象转回查询值。
将查询值转为数据库值 get_db_prep_value() 实现了这种转换。
万一自定义字段需要与普通查询参数使用的转换不同的转换规则,你可以重写 get_db_prep_save()。
get_db_prep_save(value, connection)与 get_db_prep_value() 相同,但当字段值必须 保存 到数据库中时,会被调用。默认情况下返回 get_db_prep_value()。
1
2
3
4
5
6
7
8

# 单独运行 py 文件,如果有关联到 django 库,比如引用了 model

import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ps.settings')
django.setup()
1
2
3
4
#Django
上次更新: 2023/08/08, 20:00:46
排序
django_orm数据处理

← 排序 django_orm数据处理→

最近更新
01
攻略制作要点
07-18
02
摄影主题拍摄
07-18
03
延时摄影剧本
07-18
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Easton Yang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式