1. 程式人生 > >在Django中使用資料庫遇到的問題

在Django中使用資料庫遇到的問題

        很多人讀了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。建立完對其進行定義。然後你要啟用模型,booksapp新增到配置檔案的已安裝應用列表中即可完成此步驟。設定完貌似是這樣的:

       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 # 用來把資料庫遷移檔案轉換成資料庫語言

        在命令列依次執行完這三個命令你就可以進行資料訪問了。

因為我曾經被這些問題困擾 ,所以真心希望對看的這篇部落格的人有所幫助。