windows搭建Django項目,以及數據庫遷移

首先,windows、Django、mysql和vscode是本文用到的工具

1、安裝python環境和mysql數據庫

     (a) 安裝mysql數據庫,需要注意的是把db移到別的盤,在另一篇有講,詳細教程也有貼,自行查看。

     (b) python環境的話,我比較傾向於用anaconda3去裝python3.5,喜歡用最新的版本的python。官網可下載。anaconda package  可手動下載需要的包。或者conda或pip

2、推薦vscode代碼編輯環境

3、新建Django項目

    (1)新建一個文件夾,cd到該文件下,創建項目:(首先django的庫別忘pip下來)

django-admin startproject oa  #新建gjango項目,並用vscode打開。操作如下

           ..

         code . 注意後面有個點。這是將vscode的路徑加到path裏,所以可以從這裏直接打開,點表示將現在路徑作爲項目工作空間。生成的文件目錄如下:

           ..

           settings.py是配置項目的路徑、數據庫等,默認是sqlite,我採用mysql數據庫存儲數據。url.py是路由路徑。manage.py是一個工具。可以通過manage.py拉起整個項目。到現在爲止,你可以在控制檯通過如下命令拉起項目:  

python manage.py runserver 0.0.0.0:8000   #在此之前,可以通過python manage.py help查看可用命令
E:\bin\Anaconda3\python.exe manage.py runserver 0.0.0.0:8000  #我這裏用的是這樣的方式,指定python去調用。因爲版本比較多

       在瀏覽器試試http://127.0.0.1:8000/admin/,訪問一下django提供的後臺管理,滿強大的。

 

 

  (2)發現admin需要用戶名和密碼。這樣的話,就先要去settings.py文件配置mysql數據庫,同時需要在settings.py同目錄下的__init__.py文件裏添加以下兩行(別忘下載pymysql包):

         import pymysql

         pymysql.install_as_MySQLdb()

     然後修改settings.py文件下數據庫配置,如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_oa',
        'USER': 'root', 
        'PASSWORD': '*****',
        'HOST': '127.0.0.1', 
        'PORT': '3306', 
    }
}
ALLOWED_HOSTS = ['*'] # *設置url,在瀏覽器上訪問的。可設置主機ip,然後用http://*:8000/admin去訪問

    然後用以下命令在控制檯創建超級用戶,郵箱可不寫: 

python manage.py createsuperuser #創建超級用戶

    如果報右邊的錯誤,..

   按照如下命令再執行一遍:

python manage.py migrate
python manage.py createsuperuser  #先執行上面的,再執行這個就ok了

      這是因爲在創建超級用戶之前要做一個數據庫遷移。

 


(3)接下來,是創建自己的app了。 用以下命令創建好之後,需要在settings.py裏註冊app(如下)。

python manage.py startapp app   #app是自己應用的名字

      .....

     接下來,比如你在自己的mysql裏已經建好表了,那麼就可以採用數據遷移的方式,直接與django裏的models綁定:

保證django項目已經運行(runserver)起來(很重要!!!)

python manage.py inspectdb    #這個命令可以查看現有的模型文件(models.py)!!!!!!!!!!!!

E:\codewyan\oa>python manage.py makemigrations  #採用這兩條命令,出現如下提示,則成功
<class 'demo.models.OaChannelTable'>
Migrations for 'demo':
  demo\migrations\0001_initial.py
    - Create model OaChannelTable
    - Create model OaPropTable

E:\codewyan\oa>python manage.py migrate
<class 'demo.models.OaChannelTable'>
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, demo, sessions
Running migrations:
  Applying demo.0001_initial... OK

      接下來,就可以在自己的views.py裏訪問models裏的類(models會將數據表映射爲類,然後採用類名.objects.all()[:10]訪問數據庫,得到一個查詢的queryset)。

      坑還有很多,筆者在後面的學習中會不斷積累並記錄的。

     一切順利的話,django就建好了!當然,過程中可能有意外,bug無時無刻不在。google,百度都可以,這個過程也是學習很快的過程,不要怕bug!筆者也是踩着坑過來的。

      

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章