IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django文件配置 -> 正文阅读

[Python知识库]Django文件配置

查看已安装的版本

import django
print(django.VERSION)

安装

在线安装:

安装最新版本:$ sudo pip3 install django

安装指定版本:$ sudo pip3 install django[==版本]

创建Django项目(在tarena中执行)

django-admin startproject mysite1

运行

cd mysite1
python3 manage.py runserver
python3 manage.py runserver 5000

settings.py文件介绍

1.BASE_DIR :用于绑定当前项目的绝对路径(动态计算出来的),所有文件都可以依赖此路径

2.DEBUG:用于配置Django项目的启动模式

? ? ? ? True表示开发环境中使用调式模式(用于开发中)

? ? ? ? False表示当前项目运行在生产环境中(不启用调试)

3.ALLOWED_HOSTS

? ? ? ? (1)? [] 空列表,表示只有host请求头为127.0.0.1,localhost能访问本项目

? ? ? ? ? ? ? ? -DEBUG=True时生效

? ? ? ? ?(2)? ['*'],表示任何请求头的host都能访问到当前项目

? ? ? ? ?(3)??['192.168.1.3', '127.0.0.1'] 表?只有当前两个host头的值能访问当前项?

4.INSTALLED_APPS 指定当前项目中安装的应用列表

5.MIDDLEWARE 用于注册中间件

6.TEMPLATES 用于指定模板的配置信息

7.DATABASES 用于指定数据库的配置信息

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mywebdb',#数据库库名
        'USER':'root',#用户名
        'PASSWORD':'123456',#密码
        'HOST':'127.0.0.1',#数据库所在的地址
        'PORT':'3306',# 端口号
    }
}

8.LANGUAGE_CODE? 用于指定语言配置

? ? ? ? 英文:"en-us"? 中文:"zh-Hans"

9.TIME_ZONE 用于指定当前服务端时区

? ? ? ? 世界标准时间:"UTC"? ?中国时区:"Asia/Shanghai"

10.ROOT_URLCONF 用于配置根级url配置

????????ROOT_URLCONF = 'mysite1.urls'

11. STATIC_URL=‘/static/’ 通过哪个url地址找静态文件

????????

urls.py文件配置

from django.contrib import admin
from django.urls import path,include
from . import views
urlpatterns = []

path('admin/', admin.site.urls),

path转换器

语法:<转换器类型:自定义名>

转换器效果案例
str匹配除了 '/' 之外的?空字符串"v1/users/<str:username>"匹配
/v1/users/guoxiaonao
int匹配0或任何正整数。返回?个 int?"page/<int:page>" 匹配 /page/100
slug匹配任意由 ASCII 字?或数字以及连字符和
下划线组成的短标签
"detail/<slug:sl>" 匹配 /detail/this-is-
django
path匹配?空字段,包括路径分隔符 '/'"v1/users/<path:ph>"匹配
/v1/goods/a/b/c

re_path()函数:

在url的匹配过程中可以使用正则表达式进行精确匹配

语法:repath(reg,view,name=xxx)

re_path(r'^(?P<x>\d{1,2})/(?P<op>\w+)/(?P<y>\d{1,2})$',views.cal_view),

include函数:

用于分发将当前路由转到各个应用的路由配置?件的 urlpatterns 进?分布式处理

语法 include('app命字.url模块名')

from django.conf.urls import include

视图函数views.py

from django.http import HttpResponse
def page1_view(request):
html = "<h1>这是第1个??</h1>"
return HttpResponse(html)

Django中的应用-APP

创建步骤

1.创建应用app

python3 manage.py startapp music

2.在settings.py里注册应用

应用的结构

1.migrations文件夹 保存数据迁移的中间文件

2.__init__.py? ?应用子包的初始化文件

3.admin.py 应用的后台管理配置文件

4.apps.py 应用的属性配置文件

5.models.py 与数据库相关的模型映射类文件

6.test.py 应用的单元测试文件

7.views.py 定义视图函数的文件

数据的迁移:

1.生成或更新迁移文件

python3 manage.py makemigrations

2.执行迁移脚本程序

python3 manage.py migrate

Models创建

模型类需继承自django.db.models.Model

Models的语法规范

from django.db import models
class 模型类名(models.Model):
    字段名= models.字段类型(字段选项)

字段类型:

BooleanField(),数据类型tinyint(1)使用True和False来表示值

CharField() 数据类型varchar 注意 必须指定max_length参数值

DateField()数据库类型:date 作用:表示日期

? ? ? ? ? ? ? ? 参数:auto_now: 每次保存对象时,?动设置该字段为当前时间(取值:True/False)。
?????????????????????????auto_now_add: 当对象第?次被创建时?动设置当前时间(取值:True/False)。

????????????????????????default: 设置当前时间(取值:字符串格式时间如: '2019-6-1')。
????????????????????????以上三个参数只能多选?

DateTimeField()

????????数据库类型datetime(6)

? ? ? ? 作用:表示日期和时间

? ? ? ? 参数相同DateField

DecimalField()

? ? ? ? 在数据库中:使用小数

? ? ? ? max_digits:总位数 decimal_places:小数点后的数字数量

money = models.DecimalField(
    max_digsts = 7,
    decimal_places=2,
    default=0.0
)

FloatField()

? ? ? ? 数据库类型:double,编程语言中和数据库中都使用小数表示值

EmailField()????????数据类型:varchar? 编程语言和数据库中使用字符串

InterField()? ??????????数据类型:int? ?编程语言和数据库中使用整数

URLField()? ? ? ? 数据类型:varchar(200) 编程语言和数据库中使用字符串

ImageField()????????数据库类型:varchar(100)? ?作?:在数据库中为了保存图?的路径

?TextField()????????数据库类型:longtext????????作?:表?不定?的字符数据

字段选项

primary_key 如果设置为True,则表示该列为主键,则此数库表不会创建id字段.

blank 设置为True时,字段可以为空,字段为False时,字段必须填写

null 如果设置为True,则表示该列值允许为空,

????????默认为False,如果此选项为False建议加入default选项来设置默认值

default 设置所在列的默认值,如果字段选项null=False建议添加此项

db_index? 如果设置为True,表示为该列增加索引

unique 如果设置为True,表示该字段在数据库中的值必须是唯一

db_colum 指定列的名称,如果不指定的话则采用属性名作为列名

verbose_name 设置此字段在admin界面上显示的名称

Meta内部类,使用内部Meta类来给模型赋予属性,Meta类下有很多内建的类属性,可以对模型做一些控制

from django.db import models
class Book(models.Model):
    title = models.CharField('书名',max_length=50,default='')
    price = models.Decimal('定价',max_digits=7,decimal_places=2,default=0.0)
    class Meta:
        db_table='book'#可以改变当前模型类对应的表名
    

数据库迁移的错误处理方式

当执行

python3 manage.py makemigrations

出现如下迁移错误时的处理方法

错误信息

You are trying to add a non-nullable field 'des' to book without a
default; we can't do that (the database needs something to populate
existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows
with a null value for this column)
2) Quit, and let me add a default in models.py
Select an option:

? ?错误原因

????????当对模型类新添加?个字段时可出现该错误
????????原理是 添加新字段后,数据库不知道原来已有数据对于新建字段该如何赋值,所以新增
????????字段时,务必要添加default默认值。

数据库的迁移文件混乱的解决办法

? ? ? ??1. 删除 所有 migrations ?所有的 000?_XXXX.py ( __init__.py 除外)
????????2. 删除 数据库
????????sql> drop database mywebdb;
????????3. 重新创建 数据库
????????sql> create datebase mywebdb default charset...;
????????4. 重新?成migrations?所有的 000?_XXXX.py
????????python3 manage.py makemigrations
????????5. 重新更新数据库
????????python3 manage.py migrate

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:49:56  更:2022-07-04 22:50:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:46:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码