首页
学习
活动
专区
工具
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.2K20

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(),比如DjangoQuerySet,就可以使用更加高效 count() 使用 Paginator 这里有一些复杂一点例子,它们在视图中使用 Paginator 来为查询集分页...这样会使类似于Django’s QuerySet对象使用更加便捷count()方法,如果存在的话。 Paginator.num_pages¶ 页面总数。

92710
  • django自带权限机制

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

    首先要扩展自带auth_user表我就放个图吧, ?...补充知识:Python+ django + pycharm项目之扩展默认user表 django为我们提供了默认user表,但是在实际开发项目的基本是不满足实际情况,所以呢学习web知识,扩展默认...在django项目中,所有的数据库表都是根据各APP模型来生成,我们创建项目后第一件事就是要去完善user表,这个利用知识点就是Python类继承,假如,我要创建UserProfile类来继承原来...,django中是如何来识别你创建APP呢,查看各APPapps,py文件 ?...最后迁移数据库,使用makemigrations 和 migrate 就可以完成user表扩展了,刷新数据库,表是不是已经生成了0.0 以上这篇django 解决扩展自带User表遇到问题就是小编分享给大家全部内容了

    1.3K60

    django自带权限管理Permission用法说明

    前言 一些公司内部CMS系统存在某些内容让指定用户有权限访问,这时候可以用django自带权限管理进行限制,比较方便。...缺点:django自带权限是针对model(模型),不能针对单条数据,要针对单条数据需要额外操作。...默认权限(add, change, delete, view) django针对每个模型,生成了四个默认权限(add, change, delete, view)。...name: 描述权限内容,无太大实际作用 content_type_id:与django_content_type中id字段对应 codename:权限表示值,换句话说用add_log来表示用户对...以上这篇django自带权限管理Permission用法说明就是小编分享给大家全部内容了,希望能给大家一个参考。

    3.6K20

    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

    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

    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

    MySQL5.64个自带库详解

    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

    92150

    MySQL 一千个不用 NULL 理由

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

    9410
    领券