美文网首页
Django 连接Mysql 简单操作

Django 连接Mysql 简单操作

作者: J书越来越垃圾了 | 来源:发表于2017-05-14 15:30 被阅读929次

    setting.py

    DATABASES = {
        'default': {
    #        'ENGINE': 'django.db.backends.sqlite3',
    #        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
             'ENGINE': 'django.db.backends.mysql',
             #数据库名字
             'NAME': 'study', 
             'USER': 'root',
             'PASSWORD': 'centos',
             'HOST': '127.0.0.1',
             'PORT': '3306',
             'OPTIONS': {
                'autocommit': True,
                'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            },
        }
    }
    
    

    安装相关模块

    python3 不在支持MySQLdb
    安装pymsql pip3 install pymysl

    #去项目下修改__init__.py,使其默认数据库模块为pymysql
    import pymysql
    pymysql.install_as_MySQLdb()
    

    项目下执行

    python manage.py makemigrations
    python manage.py migrate
    

    操纵models.py

    数据库相关一般都写在这个模块下 前提,应用要加到setting中

    from django.db import models
    
    # Create your models here.
    #新建了一个Student类,继承自models.Model
    class Student(models.Model):
        name = models.CharField(max_length=128)
        age = models.IntegerField(max_length=3
    
    
    
    #上面代码其实就相当于原生sql
    
    CREATE TABLE myapp_person (
        "id" serial NOT NULL PRIMARY KEY,
        "name" varchar(30) NOT NULL,
        "age" int() NOT NULL
    );
    
    #然后进行同步
    python manage.py makemigrations
    python manage.py migrate
    
    #生成一个
    项目名称+下划线+小写类名的表
    比如项目叫study_1,那表名就叫study_1_student
    
    #插入数据
    class Student(models.Model):
            Student.objects.create(name='lizili',age=18)
            Student.objects.create(name='vic',age=22)
            Student.objects.create(name='zhang',age=12)
    
    #返回数据
        def __str__(self):  #固定格式
            return u'name: %s , age:%s' % (self.name,self.age)
    
    #需要数据的页面
    #导入
    from study_1.models import Student
    #查询,展示
    def test(request):
        student_list = Student.objects.all()
        student_str = map(str,student_list)
        return HttpResponse(student_str)
    

    相关文章

      网友评论

          本文标题:Django 连接Mysql 简单操作

          本文链接:https://www.haomeiwen.com/subject/yjyqxxtx.html