首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 不用自带的mysql

Django 不使用自带的 MySQL

基础概念

Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。Django 自带了一个轻量级的数据库抽象层,支持多种数据库后端,包括 PostgreSQL、MySQL、SQLite 和 Oracle。默认情况下,Django 使用 SQLite 作为数据库。

相关优势

  1. 灵活性:Django 允许开发者根据项目需求选择合适的数据库。
  2. 可移植性:由于 Django 的数据库抽象层,更换数据库后端相对容易。
  3. 丰富的功能:Django 提供了丰富的 ORM(对象关系映射)功能,简化了数据库操作。

类型

Django 支持多种数据库类型,包括但不限于:

  • PostgreSQL
  • MySQL
  • SQLite
  • Oracle

应用场景

  • Web 开发:Django 广泛用于构建复杂的 Web 应用程序。
  • API 开发:Django REST framework 是一个强大的工具,用于构建 Web API。
  • 内部管理系统:Django 的管理界面可以快速生成一个功能齐全的管理后台。

问题与解决

如果你不想使用 Django 自带的 MySQL,可以选择其他数据库。以下是使用 PostgreSQL 的示例:

安装 PostgreSQL 和 psycopg2

首先,安装 PostgreSQL 和 psycopg2(PostgreSQL 的适配器):

代码语言:txt
复制
pip install psycopg2
配置 Django 项目

settings.py 文件中,修改数据库配置:

代码语言:txt
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}
创建数据库和表

使用 PostgreSQL 客户端创建数据库:

代码语言:txt
复制
CREATE DATABASE your_database_name;

然后,使用 Django 的 migrate 命令创建表:

代码语言:txt
复制
python manage.py migrate
参考链接

通过以上步骤,你可以轻松地在 Django 项目中使用 PostgreSQL 而不是自带的 MySQL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django自带的contentType表

contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中。     ...models.py文件的表结构写好后,通过makemigrations和migrate两条命令迁移数据后,在数据库中会自动生成一个django_content_type表,比如我们有在models.py...中写了这么几张表: from django.db import models class Electrics(models.Model): """ id name 1...示例代码:models.py文件: from django.db import models from django.contrib.contenttypes.models import ContentType...) # step 1 既然没有直接和关联表进行外键关系,我们通过这一步先找到关联表 object_id = models.PositiveIntegerField() # step 2 #存的是关联的那个表的对应的那条记录的

1.3K20

django 自带分页功能

方法一:使用 Paginator 分页 1. https://doc.codingdict.com/django/topics/pagination.html Paginator 分页¶ Django提供了一些类来帮助你管理分页的数据...这些类位于django/core/paginator.py中。...示例¶ 向Paginator提供对象的列表,以及你想为每一页分配的元素数量,它就会为你提供访问每一页上对象的方法: >>> from django.core.paginator import Paginator...这样的话如果对象存在count(),比如Django的QuerySet,就可以使用更加高效的 count() 使用 Paginator 这里有一些复杂一点的例子,它们在视图中使用 Paginator 来为查询集分页...这样会使类似于Django’s QuerySet的对象使用更加便捷的count()方法,如果存在的话。 Paginator.num_pages¶ 页面总数。

93710
  • django自带权限机制

    因此,基于Django的开发,理清Django权限机制是非常必要的。...上述的应用场景,Django自带的权限机制无法满足需求,需要引入另一种更细的权限机制:对象权限(object permission)。...结合Django自带权限机制和object permission,博客系统中作者的权限控制迎刃而解:系统全局上不允许作者编辑文章,而对于属于作者的具体文章,赋予编辑权限即可。...Django 自带权限机制的应用 2.1 Permission 如上文所述,Django定义每个model后,默认都会添加该model的add, change和delete三个permission,自定义的...基于Django-guardian的object permission的应用 Django-guardian基于django的原生逻辑扩展了django的权限机制,应用django-guardian后,

    1.5K30

    day72-Django进阶-Django自带的用户登录校验

    1.首先,创建表,使用Django自带的校验表 1.在models中,from django.contrib.auth.models import AbstractUser image.png 2.在settings...如何初识化使用bootstrap的样式(手动复制的bootstrap,需要初始化使其生效) # 添加下面的代码 def __init__(self, *args, **kwargs): super...app01.models import UserInfo as User User.objects.create_user(**forms_obj.cleaned_data) # 打散字典,分成键值对的形式...request.user.set_password('admin1234') request.user.save() 5.设置settings image.png 3.成功登录后,记住登录登录状态,并为其他url做登录校验 1.登录校验 from django.contrib...import auth # 用于登录校验用户名和密码 image.png 2.登录成功之后 from django.contrib.auth.decorators import login_required

    1.1K50

    django 自带 user 字段扩展及头像上传

    写接口(入门篇)》 《用django写接口(优化篇)》 《用django写接口(实战篇)》 1 扩展 django 的 User Model 字段 在实际项目中,django 自带的 user model...User Model 然后将 settings.py 文件中的 AUTH_USER_MODEL 替换后再进行数据库迁移,需要告诉 django 系统,这个项目我要用自己的 User 了,不用你的。...这种方法适合只需要扩展 User Model 中的字段,会继承之前 AbstractUser 的全部字段,系统自带的 User 也是通过继承 AbstractUser 来实现的 # 系统的 User 源码...are optional. """ class Meta(AbstractUser.Meta): swappable = 'AUTH_USER_MODEL' 如果说系统自带的...而官方推荐的则可以不用考虑这个问题 4. 通过元类进行扩展 在网上还找到一种通过元类来扩展字段的方法,这边附上链接 通过元类扩展 User 字段不多讲述。

    2.2K30

    django自带cache结合redis创建永久缓存

    0916自我总结 django自带cache结合redis创建永久缓存 1.redis库 1.安装redis与可视化操作工具 1.安装redis https://www.runoob.com/redis...有序集合:Sorted Set https://www.runoob.com/redis/redis-tutorial.html 5.特点 内存数据库:数据存储在内存中,存取效率极高 nosql数据库:没有mysql...那样的表关系,通过 类似字典方式,用 key-value 方式存储数据 高并发支持:单线程单进程并发 数据可持久化:redis中的数据可以保存在硬盘中,支持与mysql等数据库完成数据同步 #独有特点...": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100...} #池的个数 } } } #前提必须安装redis第三方数据模块 views.py from django.core.cache import cache # 结合配置文件实现插拔式

    1.3K10

    Mysql自带数据库中的信息

    当你新建一个mysql服务,并且使用root用户登录mysql(或者你拥有相应的权限),会发现mysql预先安装了四个数据库. information_schema mysql perfomance_schema...SCHEMATA:提供了当前mysql实例中所有数据库的信息,我们经常使用的show databases就是从这里读取数据的. TABLES:提供了关于数据库中的表的信息(包括视图)。...TABLE_CONSTRAINTS:描述了存在约束的表。以及表的约束类型等。 KEY_COLUMN_USAGE:描述了具有约束的键列。 VIEWS:给出了关于数据库中的视图的信息。...mysql 这是mysql的核心库,我们的用户,密码及权限等相关信息都存储在这里,所以在修改用户或者添加用户等操作的时候,使用grant命令和直接对这个库中的user表进行增删改查的作用是相等的....这其中最常用的就是user表,可以对其进行操作.比如: delete from mysql.user where User='haha'; 可以删除用户. performance_schema 这里存储的是一些和性能相关的信息

    4.1K20

    Zabbix自带模板监控MySQL服务

    Zabbix的服务端与客户端的安装这里不再赘述了,前面也有相应的文章介绍过了,感兴趣的伙伴们可以看看历史文章就可以了,今天主要介绍下如何利用zabbix自带的模板来监控MySQL服务的一些状态,同时通过图形化界面直观看出...MYSQL服务各个时间段的运行情况 01 配置Zabbix_agent客户端 cd /etc/zabbix/ vim zabbix_agentd.conf UserParameter=mysql.status...注:chkmysql.sh脚本内容这里就不贴上来了,如果有需要的可以一起讨论下,每个人写的思路都不一样 02 服务端测试配置 服务器端利用自带的命令zabbix_get测试是否获取到数据 [root@...]# zabbix_get -s mysql-slave -k mysql.status[Bytes_sent] 1431240816 如果能正确并获取到相关的数据,表明配置是正确的,接下来就是要登陆WEB...权限 2、配置监控项 3、配置触发器 由于使用自带的模板,监控项与触发器都已默认配置好了,需要修改的可以按需求修改 4、创建图形展示界面 创建图形如下图 ?

    1.2K30

    原创投稿 | 使用zabbix自带的模板监控mysql

    2.mysql服务器上的操作 2.1 提供.my.conf文件 .my.conf这个文件是zabbix要求的用于存放连接mysql数据库的账户信息的隐藏文件,需要手动创建,其存放位置可以自定义,一般存放...配置文件 当zabbix server和agentd,web interface都配置完成以后,在zabbix源码包目录中自带的有一个用于mysql监控的userparameter配置文件,建议将它复制到特定目录中...3.1 给mysql主机应用mysql监控模板 给相应的主机调用zabbix自带的mysql监控模板,操作过程如下 monitoring_mysql-1 monitoring_mysql-2 monitoring_mysql...-3 在主机属性列表Templates处出现Template App MySQL即表示此主机已调用了zabbix这一自带的MySQL监控模板。...根据业务实际情况配置相应的trigger和action 根据业务实际运行情况,结合监测到的数据,对mysql的监控数据配置相应的trigger和action,默认情况下只有在mysql down的时候会触发一个

    1.7K110

    MySQL5.6的4个自带库详解

    1.information_schema详细介绍:   information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?...在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。...该信息源自mysql.user授权表。是非标准表。     SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。...名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。     VIEWS表:给出了关于数据库中的视图的信息。...必须有super权限才能查看该表 2. mysql作用介绍:   mysql:这个是mysql的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql

    93250

    MySQL 一千个不用 NULL 的理由

    下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。...本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。 1、NULL 为什么这么多人用? NULL是创建数据表时默认的,初级或不知情的或怕麻烦的程序员不会注意这点。...重点是很多程序员觉得NULL在开发中不用去判断插入数据,写sql语句的时候更方便快捷。 2、是不是以讹传讹?...3、给我一个不用 Null 的理由? 所有使用NULL值的情况,都可以通过一个有意义的值的表示,这样有利于代码的可读性和可维护性,并能从约束上增强业务数据的规范性。...基于以上这些理由和原因,我想咱们不用 Null 的理由应该是够了 :)

    10710

    MySQL 之自带工具使用介绍

    在MySQL中,自带了许多功能比较强大的工具,如mysql、mysqladmin、mysqldump等。...1、mysql命令 Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。可以通过mysql --help来查看其详细使用方法。...-P 指定要连接的端口 可选,默认是3306 -e 可以通过-e命令直接执行SQL语句,而不用进入数据库 免交互登录数据库执行SQL语句,通常在脚本中使用 -D 指定要登录到哪个库 默认不会登录到库,...定制自己的MySQL提示符显示的内容 默认登登录到MySQL后的提示符是“mysql >”,可以使用该选项定制提示符 --tee 将操作数据库所有输入和输出的内容都记录进文件中 在一些较大维护变更的时候...#省略部分内容 #要记得重启服务哟 再次连接就不用再指定了,如下: ?

    1.7K20
    领券