精华内容
下载资源
问答
  • 在配置Django与MySQL数据库链接的时候遇到过很多坑,找了半天解决方法,终于跑了起来,今天记录一下 1.首先新建Django工程,在settings.py中进行初始化配置,同时创建app01 python manage.py startapp app01 ...

    在配置Django与MySQL数据库链接的时候遇到过很多坑,找了半天解决方法,终于跑了起来,今天记录一下

    1.首先新建Django工程,在settings.py中进行初始化配置,同时创建app01

    python manage.py startapp app01

    在settings.py中注册app01

    2.在app01目录下的models.py中创建表

    from django.db import models
    
    # Create your models here.
    
    class UserGroup(models.Model):
        #自增列自己写
        uid = models.AutoField(primary_key=True)
        caption = models.CharField(max_length=32, unique=True)
        ctime = models.DateTimeField(auto_now_add=True,null=True) #创建时间
        uptime = models.DateTimeField(auto_now=True,null=True)  #最近的一次更新时间
        #仅限于此种更新
        #obj = UserGroup.objects.filter(id = 1).update(caption = 'CEO') #django不支持这种方式
    # obj = UserGroup.objects.filter(id = 1).first()
    # obj.caption = "CEO"
    # obj.save()#只有此特定条件
    
    class UserInfo(models.Model):
        #表名:app01_userinfo
        #django会默认创建一个自增的id列,还是主键
        #创建用户名列,字符串类型,指定长度
        #基本数据类型 字符串 数字 时间 二进制
        username = models.CharField(max_length=32,blank=True,verbose_name='用户名',editable=False)
        password = models.CharField(max_length=64,help_text='pwd')
        email = models.CharField(max_length=60)
        gender = models.CharField(max_length=60, null=True)
        test =  models.URLField(max_length=19,null=True,error_messages={'invalid':'请输入密码'})
    
        user_type_choice = (
            (1,"超级用户"),
            (2,"普通用户"),
            (3,"学生用户"),
        )
        user_type_id = models.IntegerField(choices=user_type_choice, default=1)
        #django在生产外键的时候会在字段名字上加_id 数字   user_group 代指的是另一个表当中User_Group这个对象
        #user_group_id和user_group.uid代指的是一样的
        user_group = models.ForeignKey("UserGroup",to_field='uid',default=1,on_delete=models.CASCADE,)

    3.安装链接组件,并在于工程同名的文件夹下打开__init__.py进行配置

    python3系列中推荐使用pymysql

    pip install pymysql

    安装成功后,在于工程同名的文件夹下打开__init__.py进行配置

    import pymysql
    pymysql.version_info = (1, 3, 13, "final", 0) #新版本Django 兼容
    pymysql.install_as_MySQLdb()

    4.回到settings当中,对database进行配置

    DATABASES = {
        # 'default': {
        #     'ENGINE': 'django.db.backends.sqlite3',
        #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        # }
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': "test",
            'USER': "root",
            'PASSWORD': "lzhdsg123!",
            'HOST': "localhost",
    
        }
    }

    上面注释掉的部分是原来用于sqlite的配置,下面的是新的配置(记得要在MySQL当中创建SCHEMAS)

    default当中的配置项,name要同SCHEMAS中相应的表保持一致    user和password填写你自己的账号密码

    5.之后再工程目录下执行

    python manage.py makemigrations
    python manage.py migrate

    这个过程中可能遇到这个错误提醒

    这个时候,如果你保证你的user和password正确,只需要将MySQL修改密码刷新就可以了

    但是我在这里遇到了坑,我的MySQL版本是8.0.11,网上找了很多改密码的命令,在MySQL的命令行下运行,但是始终提醒错误,最后才意识到是版本的问题,找到了修改密码的正确命令

    use mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
    FLUSH PRIVILEGES;  

    到此问题解决,重新进行数据库写入,我的表就都创建好了

     

    展开全文
  • Django连接mysql数据库 python3以上的版本安装的是pymysql 1.在-init-.py下 DATABASES={                                  ...

    Django连接mysql数据库

    1.首先在创建待用的新的数据库。
    在这里插入图片描述

    2.python3以上的版本安装的是pymysql
    在_init_.py文件中配置
    import pymysql
    pymysql.install_as_MySQLdb()3
    3.创建应用后,在项目setting.py文件中配置数据库信息
    DATABASES = {

    'default': {
    
        'ENGINE': 'django.db.backends.mysql',  # 数据库驱动
    
        'NAME': 'test',  # 数据库名
    
        'USER': 'root',  # 用户名
    
        'PASSWORD': '123456',  # 密码
    
        'HOST': 'localhost',  # 数据库地址
    
        'PORT': '3306'  # 链接数据端口
    
    }
    

    }
    4应用中创建模型
    在这里插入图片描述
    5.模型迁移
    在这里插入图片描述
    在这里插入图片描述
    6.刷新数据库,成功添加表
    在这里插入图片描述

    展开全文
  • 数据库配置是选择项目所使用的数据库类型,不同的数据库需要设置不同的数据库引擎,数据库引擎用于实现项目于数据库的连接,Django提供4种数据库引擎: 'django.db.backends.postgresql' 'django.db.backends....

    数据库配置是选择项目所使用的数据库类型,不同的数据库需要设置不同的数据库引擎,数据库引擎用于实现项目于数据库的连接,Django提供4种数据库引擎:

     'django.db.backends.postgresql'
    
     'django.db.backends.mysql'
    
     'django.db.backends.sqlite3'
    
     'django.db.backends.oracle'
    

    Django在创建项目时,默认采用的是 Sqlite3 数据库,是一个轻型的数据库,Sqlite3 数据库配置如下:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
    

    Django与MySQL数据库实现数据连接,需要将上述信息改为MySQL数据库,主要有以下两步:

    一、安装mysqlclient模块

    打开命令提示符窗口并输入如下安装指令:

    pip install mysqlclient
    

    二、在项目配置文件settings.py中配置MySQL数据库连接信息如下:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'reservoir',
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }
    

    其中,‘django_db’ 为数据库名,读者可自行定义,‘root’ 为登录MySQL的用户名(一般都是),‘123456’ 为登录MySQL数据库的密码,‘127.0.0.1’ 为主机名(默认),‘3306’ 为MySQL数据库的默认端口(读者在安装MySQL时可以看见,无需修改)。

    注意: 读者需要注意安装版本问题,使用mysqlclient连接MySQL数据库时,Django对mysqlclient版本有使用要求。

    希望能够帮助到各位。

    展开全文
  • manage.py:(一个实用的命令行工具,可让你以各种方式Django 项目进行交互) blog/settings.py (基本配置,数据库连接) blog/urls.py (路由配置) blog/wsgi.py (一个 WSGI 兼容的 Web 服务器的入口,以便...

     django框架目录介绍

    blog (项目生成根目录容器)

    manage.py: (一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互)

    • blog/settings.py  (基本配置,数据库连接)
    • blog/urls.py  (路由配置)
    • blog/wsgi.py  (一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。)
    • blog/__init__.py   (一个空文件,告诉 Python 该目录是一个 Python 包)

    templates (模板文件目录)

    • index.html

    user文件  (新建的app模块)

    • urls.py (路由配置,定向到view.py封装的函数)
    • view.py  (功能函数的拆分)
    • model.py (定义类,操作数据库)

    使用app模块 

    如果要使用模型Test,必须创建一个app

    ( django-admin startapp user)

    user‘ 加在settings中的INSTALLED_APPS中 


    数据库操作 

    user / modes.py 

    class User(models.Model):
        class Meta:
            db_table= 'user'
        name = models.CharField(max_length=20)
        email = models.CharField(max_length=128)

    分类页面代码实现 

    blog/urls.py

    from django.conf.urls import url, include
    from django.contrib import admin
    from django.shortcuts import render
    
    # 模板页面映射
    def index(request):
        return render(request, 'index.html', {'user': 'I am template data'})
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index.html/', index),
        url(r'^user/', include('user.urls')),
    ]

    blog/settings.py

    添加映射模板查询位置
    TEMPLATES 的 DIRS字段信息改为 'DIRS': [os.path.join(BASE_DIR, 'templates')],
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
            'NAME': 'mysqlcmdb',         # 你要存储数据的库名,事先要创建之
            'USER': 'root',         # 数据库用户名
            'PASSWORD': 'xxx',     # 密码
            'HOST': '127.0.0.1',    # 主机
            'PORT': '3306',         # 数据库使用的端口
        }
    }

    user/url.py 

    from django.conf.urls import url, include
    from .views import reg
    
    urlpatterns = [
       url(r'^reg$', reg),
    ]

    user/view.py 

    from django.http import HttpRequest, HttpResponse, JsonResponse, HttpResponseBadRequest
    
    import simplejson # 需要 pip install
    from .models import User #引入User类,进行数据库语句操作
    
    def reg(request: HttpRequest):
        try:
            payload = simplejson.loads(request.body) # 将post参数处理成json格式
            # request.GET(POST).get('email',default='') get(POST)请求指定参数获取
            email = payload['email']
            qs = User.objects.filter(email=email)  #查看数据库中有没有这个email
            response = {}
            for t in qs:
               response['id'] = t['id']
               response['name'] = t['name']
               response['password'] = t['password]
            if qs: #数据库中已经存在了
                return JsonResponse({'data': response, 'msg': '已经存在了'})
    
            name = payload['name']
            uesr = User()
            user.name = name
            uesr.email = email
            try:
                user.save() #插入注册信息进数据库
                return JsonResponse({'uer_id': user.id}) # 200状态码
            except Exception as e:
                return HttpResponseBadRequest() # 插入失败
        except Exception as e:
            return HttpResponseBadRequest()

     


    Django一些操作数据库方法 

    • list = User.objects.all() [0: 20]  // 通过objects这个模型管理器的all()获得所有数据行的前20条数据
    • // from django.db.models import Q    用来使用 & |  非(~Q() )  复杂判断条件
    • response2 = User.objects.filter(Q(age=12) & Q(name=''xx'))  // 过滤条件
    • response3 = User.objects.get(id=1)   // 获取单个对象
    • User.objects.order_by("id")   // 数据排序
    • User.objects.filter(id=1).update(name='Google')   // 更新某一对象数据
    • User.objects.filter(id=1).delete()   // 删除某一对象数据
    • user.save()  //插入数据,user表示User类实例,用来添加插入信息之后,进行保存
    python manage.py runserver 0.0.0.0:8000  // 启动服务   通过localhost:8000 访问

     

    展开全文
  • Django与Mysql数据库的连接

    万次阅读 2018-01-16 10:49:13
    1 配置 (1)在settings中配置数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'cat', # 数据库名 'USER': 'root', # 用户名 'PASS
  • https://stackoverflow.com/questions/55657752/django-installing-mysqlclient-error-mysqlclient-1-3-13-or-newer-is-required 在配置文件__init__.py中添加如下 import pymysql pymysql.version_info = (1, 3, ...
  • Django与MySQL数据库长连接问题

    千次阅读 2015-05-18 23:34:04
    前段时间由于项目要求,需要在Django 1.4.3版本上实现跟MySQL数据库的长连接,因为是刚开始接触Django框架,对Django的源码也不是很熟,只能参考着网上的解决方案来一点点摸索,在此记录下解决过程中发现的一些问题...
  • from django.db.models import F/Q F对象:用于类属性之间的比较 Q对象:用于条件之间的逻辑关系 aggregate:进行聚合操作,返回值是一个字典,进行聚合的时候需要先导入聚合类。 count:返回结果集中数据的数目...
  • Django连接MySQL数据库

    2021-04-04 22:35:13
    Django连接MySQL数据库 文章目录Django连接MySQL数据库前言一、MySQL二、实现步骤总结 前言 MySQLl数据库具有灵活,轻量级易操作的优势,因此我选择使用MySQL作为服务器的数据库。 一、MySQL MySQL 是最流行的...
  • 主要介绍了django连接mysql数据库及建表操作,结合实例形式详细分析了Django框架连接mysql数据库、创建查询数据表相关操作实现技巧,需要的朋友可以参考下
  • Django连接Mysql数据库

    2018-10-07 12:22:00
    Mysql数据库具有灵活,轻量级易操作的优势,因此我选择使用mysql作为服务器的数据库。 python的Django如果要操作数据库,需要数据库建立连接,在此之后才可以对数据库进行操作 Django项目默认使用的数据库是...
  • 注:以下内容转载自 现代魔法学院 网站的 Django连接MySQL数据库的简单例子 一文,仅供学习使用。   前面一小节我们介绍了用 Django 建造网站的基本途径:建立视图和 URLConf。视图负责处理一些主观逻辑,然后...
  • 首先你的先在电脑上安装mysql数据库与pymysql包 接着打开终端进入数据库 mysql -uroot -p 接着输入密码,然后输入以下代码创建数据库 create database name charset utf8 #其中name是数据库的名字 charset utf8...
  • django 使用mysql数据库

    2018-01-09 16:22:00
     在工程目录下随便找一个位置,创建一个models.py文件(django项目启动的时候会自动去工程目录下面找这个文件,请不要创建之同名的文件夹,以免django混乱),接下来就是在这个文件中建立settings文件中配置的...
  • python Django 连接mysql数据库创建表详细全过程 1,在数据库中新建一个要连接的数据库(在cmd命令行里登录数据库进行创建创建) mysql -u root -p**+密码** create database day25; show databases; 2,配置...
  • 总结:Django连接MySQL数据库的两种方法 1.使用pymysql 首先搭建好Django环境,创建好项目 然后pip安装pymysql 接着在项目下的init文件中对pymysql进行安装 然后修改setting配置 写一个Models进行测试...
  • 2)MySQL数据库。本文的前提是这两个平台读者都已经都正确安装,未安装的朋友请自行百度。说明一下我用的Django是2.1版本,在连接数据时老版本有不同之处。Pycharm功能非常强大,所有MySQL的命令操作均可在Pycharm...
  • 刚开始入门Django,这是我这几天的学习之后总结的笔记,希望对你们有用,很多地方的专业术语使用不当,毕竟还只是一个小白,希望各位可以理解,谢谢
  • 1、实现与mysql数据库的链接 2、并测试链接 3、实现简单的查询功能 本次内容是基于上一节的基础上而进行,上次内容https://blog.csdn.net/weixin_42914677/article/details/89742495 链接数据库之前,先准备好...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 788
精华内容 315
关键字:

django与mysql数据库

mysql 订阅