怎么將Django項目遷移到linux系統(tǒng)中

    Django項目配置修改

    我們需要把原先的django項目進行修改才能更好地進行項目遷移工作,首先需要修改的是settings.py文件。

    怎么將Django項目遷移到linux系統(tǒng)中

    由于項目上線之后不能讓用戶看到后臺的運行邏輯,所以我們要把DEBUG改成False,把ALLOWED_HOSTS寫成‘*’,這樣是為了允許從不同主機進行訪問。

    怎么將Django項目遷移到linux系統(tǒng)中

    由于linux中如果不加這句可能會出現(xiàn)文件找不到的情況,所以我們要把模板的路徑進行拼接。

    怎么將Django項目遷移到linux系統(tǒng)中

    由于做Django項目肯定進行過數(shù)據(jù)庫的同步,所以我們要把migrations中的同步文件刪除,以便在linux系統(tǒng)中的數(shù)據(jù)庫同步。

    項目環(huán)境以及數(shù)據(jù)庫打包

    首先我們需要把Django環(huán)境進行打包。

    怎么將Django項目遷移到linux系統(tǒng)中

    我是用的是沙箱環(huán)境就直接進入到沙箱環(huán)境中,然后執(zhí)行上述命令進行打包。

    mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名1 表名2 >導(dǎo)出的sql文件名

    然后把數(shù)據(jù)庫結(jié)構(gòu)導(dǎo)出成一個sql文件,這里需要注意的是,導(dǎo)出數(shù)據(jù)庫時,不要把表全都導(dǎo)出,只導(dǎo)出自己創(chuàng)建的表即可。

    然后我們可以通過xftp項目環(huán)境sql文件以及自己的完整項目傳到linux上面。

    linux系統(tǒng)中的配置

    1、python3的安裝

    linux是自帶python2的,我們不需要刪除python2,只是讓python2和python3共存就可以了。

    首先安裝python3的依賴包

    yum?install?zlib-devel?bzip2-devel?openssl-devel?ncurses-devel?sqlite-devel?readline-devel?tk-devel?gcc?make?-y

    然后下載python3的安裝包

    wget?https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

    解壓安裝包

    tar?-xvJf?Python-3.6.2.tar.xz

    這里如果安裝的是3.5版本的python,在使用manage.py命令時會報no module secrets錯誤。

    上述步驟做完之后我們可以看到當(dāng)前路徑下出現(xiàn)了一個python文件,我們進入到此文件夾中進行編譯安裝

    怎么將Django項目遷移到linux系統(tǒng)中

    這里我們默認(rèn)安裝在usr/loacl/python3下。

    運行結(jié)束之后執(zhí)行make && make install命令

    然后進行軟鏈接設(shè)置

    ln?-s?/usr/local/python3/bin/python3?/usr/bin/python3 ln?-s?/usr/local/python3/bin/pip3?/usr/bin/pip3

    直到這里我們就實現(xiàn)了python3和python2的共存,輸入python3和pip3就使用的是python3,輸入python和pip使用的就是python2.

    2、第二步就是數(shù)據(jù)庫的配置

    由于自centos7之后linux就不兼容mysql數(shù)據(jù)庫了,而是使用mariadb數(shù)據(jù)庫,所以我們也要使用mariadb數(shù)據(jù)庫,其實這兩個數(shù)據(jù)庫一模一樣,連命令都一樣,就是改了個名字。

    我們只需要啟動mariadb數(shù)據(jù)庫就可以了

    systemctl?start?mariadb?#啟動mariadb數(shù)據(jù)庫 systemctl?enable?mariadb?#開機啟動mariadb數(shù)據(jù)庫

    數(shù)據(jù)庫啟動之后我們就可以使用mysql -uroot -p來進入數(shù)據(jù)庫了

    項目整合與配置

    上述準(zhǔn)備工作都做完之后我們就可以在linux系統(tǒng)上配置我們的Django項目了

    首先我們需要配置Django環(huán)境。

    pip?install?-r?package.txt

    然后進行數(shù)據(jù)庫同步,我們首先需要創(chuàng)建對應(yīng)的庫,然后執(zhí)行

    這里在進行數(shù)據(jù)庫匹配的時候可能會報錯

    raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)

     ?django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.  

    解決辦法:

    C:Python37Libsite-packagesdjangodbbackendsmysql(python安裝目錄)打開base.py,注釋掉以下內(nèi)容:        
    if version  raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)

    python3?manage.py?makemigrations python3?manage.py?migrate

    然后查看一下自己的數(shù)據(jù)庫是不是出現(xiàn)了對應(yīng)表,然后導(dǎo)入sql文件

    source sql文件路徑

    直到這里我們的Django項目就完成了遷移。

    ? 版權(quán)聲明
    THE END
    喜歡就支持一下吧
    點贊12 分享