• djangobook的旧版本代码,关于数据库


    抱歉我是在一个爬虫网站上见到的这篇文章,不知道原作者是谁
    不过,解决了我的问题,感谢


    很多人读了Django老版本的书籍,却安装了比较新的Django,以至于在使用数据库时出了很多头疼的问题,我也不例外,不想再让别人继续被折磨了。现将本人遇到的一些问题以及解决的办法整理如下:(我的环境是Linux终端)

    一、 数据库的配置:

    1、首先你要保证在终端上安装了数据库(MySQL)。接下来在在里面创建你自己的数据库,比如create database djangodb.

    2、cd到你创建工程的目录,我的是username/djcode/mysite,然后cd 到mysite里,然后vim settings.py,对这个文件中的DATABASES项进行设置,完成后大概是这样的

    
    DATABASES = {
     ‘default‘: {
          ‘ENGINE‘: ‘django.db.backends.mysql‘,
          ‘NAME‘: ‘django‘,#你使用的数据库名字
          ‘USER‘: ‘root‘,
          ‘PASSWORD‘:‘‘,  #这里填写你的数据库密码
          ‘HOST‘: ‘localhost‘,
          ‘PORT‘:‘3306‘,
       }
    }

    当你运行python manage.py shell时可能会遇到错误,比如提示你没有mysqldb,那你应该按照Python -easy -install

    二、创建模型

    还要把你的模型放在settings.py中INSTALLED_APPS。你的模型就是你在工程目录下执行python manage.py startapp books时创建的,名字不一定要叫books。创建完对其进行定义。然后你要激活模型,将 books app添加到配置文件的已安装应用列表中即可完成此步骤。设置完貌似是这样的:

    INSTALLED_APPS = [
        ‘django.contrib.admin‘,
        ‘django.contrib.auth‘,
        ‘django.contrib.contenttypes‘,
        ‘django.contrib.sessions‘,
        ‘django.contrib.messages‘,
        ‘django.contrib.staticfiles‘,
        ‘books‘,  #不要忘记后面的逗号
    ]

    定义并激活了模型,你可能会验证模型是否有效,如果我没说错,你可能会执行python manage.py validate ,然后你会特别伤心的看到人家提示Unknown command: ‘validate‘Type ‘manage.py help‘ for usage.,对吧?所以你要用如下这个命令:python manage.py check来验证。

    然后你还想生成sql语句,你就运行了python manage.py sqlall books,错误提示是Unknown command: ‘sqlall‘Type ‘manage.py help‘ for usage.同样如果你想提交sql语句到数据库而运行syncdb,错误提示是Unknown command: ‘syncdb‘Type ‘manage.py help‘ for usage.为什么没有这些命令,因为它们被淘汰了。所以你只需运行如下的命令:

    python manage.py makemigrations books#用来检测数据库变更和生成数据库迁移文件
    python manage.py migrate     #用来迁移数据库
    python manage.py sqlmigrate books 0001 # 用来把数据库迁移文件转换成数据库语言

    在命令行依次执行完这三个命令你就可以进行数据访问了。
    因为我曾经被这些问题困扰 ,所以真心希望对看的这篇博客的人有所帮助。

  • 相关阅读:
    XCTF EasyHook
    [GXYCTF2019]simple CPP
    [BJDCTF2020]ZJCTF,不过如此
    Open_basedir绕过
    P2240 【深基12.例1】部分背包问题
    PHP深浅拷贝
    关于_tostring[php]的另类利用
    通用Mapper常用方法
    @GetMapping、@PostMapping和@RequestMapping的区别
    IDEA 下载依赖包的问题
  • 原文地址:https://www.cnblogs.com/cww97/p/7533954.html
Copyright © 2020-2023  润新知