zoukankan      html  css  js  c++  java
  • django+mysql学习笔记

    这段时间在学习mysql+django的知识点。借此记录以下学习过程遇到的坑以及心得。

    使用的工具是navicat for mysql

    python 2.7.12

    mysql-python 1.2.3 。

    首先在次目录下新建一个数据库(students_info),记下用户名,密码,端口。。。。。。此数据库后续会在settings.py中进行对接。

    django与database对接的操作流程:

    1、你得先告诉django数据库的相关信息,后续框架会自动去根据这些信息访问数据库不用你操心了。

    代码如下:

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

    以上就是在settings.py中的设置,没错就这么简单。ENGINE根据各种数据库不同可以参照官方文档https://docs.djangoproject.com/en/1.7/ref/settings/#std:setting-DATABASES。

    2、定义数据模型,这工作是在对应的app(blog)应用目录下的model.py中完成的。例子如下(djangobook例子):

    class Publisher(models.Model):
        name = models.CharField(max_length=30)
        address = models.CharField(max_length=50)
        city = models.CharField(max_length=60)
        state_province = models.CharField(max_length=30)
        country = models.CharField(max_length=50)
        website = models.URLField()
    
    class Author(models.Model):
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=40)
        email = models.EmailField()
    
    class Book(models.Model):
        title = models.CharField(max_length=100)
        authors = models.ManyToManyField(Author)
        publisher = models.ForeignKey(Publisher)
        publication_date = models.DateField()
    

     每个class会对应一个表。

     3、接下来就是运行 python manage.py makemigrations blog

       然后运行 python manage.py migrate

    如果是第二次运行有问题,可以把blog/migrates下的0001_initial.py删除再重新运行以上两个命令。

    4、如果没问题,既可以再navigcat中看到创建的表。

  • 相关阅读:
    @ModelAttribute注解详细使用
    Spring MVC使用注解实现账户注册与登陆
    @PathVariable、@RequestHeader与@CookieValue注解的使用案例
    IDEA搭建我的第一个Spring MVC应用(附使用注解实现)
    JDBC自定义工具类
    JDBC与MySQL实现分页查询技术
    JavaWeb实战——记录网站上一次访问时间
    微信小程序使用setData修改数组中的指定下标的属性值
    Centos6.x 无法 ping 外网 --- 已解决
    Ckeditor失去焦点前保留光标位置
  • 原文地址:https://www.cnblogs.com/yelin/p/6249773.html
Copyright © 2011-2022 走看看