1. 程式人生 > >PyCharm 使用Github托管Django項目

PyCharm 使用Github托管Django項目

無法運行 love 倉庫 過程 software 列表 down djang 5.5

不管是對於教程代碼免費分享的需要,還是項目開發過程中的版本管理,Github都是我們首選的開源代碼倉庫,如果你沒有私有倉庫,並且不用保護代碼,那麽將項目上傳到Github上是最佳的選擇。

關於如何使用Git軟件請自行學習,或許以後有空我也會寫點教程。如何在PyCharm中配合Github,則在站點的博客中有一篇《PyCharm 在PyCharm中使用GitHub》,可供大家參考。

一、 創建requirements.txt文件

requirements.txt文件是一個項目的依賴庫文件,可以通過下面的方式自動生成:

進入虛擬環境,切換到項目根目錄下,使用pip工具的freeze參數。

(mysite_env) F:\Django_course\mysite>pip freeze  > ./requirements.txt

打開requirements.txt文件,其內容如下:

Django==1.11.7
django-simple-captcha==0.5.5
olefile==0.44
Pillow==4.3.0
pytz==2017.3
six==1.11.0

他人如果拷貝了我們的代碼,要安裝第三方庫依賴的話,只需要:

pip install -r requirements.txt

就可以一次性安裝好所有的庫了。

二、創建.gitignore文件

在項目代碼中,有一些文件是不能上傳的,比如密碼文件、數據庫文件、核心配置文件等等,還有一些是不用上傳的,比如臨時文件。為了讓git自動忽略這些文件,我們需要創建一個忽略名單。

在項目根目錄下新建一個.gitignore文件,這裏可能需要你在Pycharm下安裝ignore插件,如下圖所示:

技術分享圖片

我這裏是已經安裝好了,新安裝的話,要在搜索欄裏搜索到插件後再安裝。

.gitignore文件裏寫入下面的內容:

.idea
settings.py
db.sqlite3
mysite/__pycache__/

這些文件將不會上傳到Github中,也不會進行版本管理。

三、特殊文件處理

對於settings.py文件有個問題,如果沒有這個文件是無法運行Django項目的,但是settings中又可能包含很多關鍵的不可泄露的部分,比如SECRET_KEY:

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ‘b(&6i_$g2%8vh)ruu$)a9pkw+s-e&qj_e_#=@gnbo^48#gp_8a‘

還有數據庫的IP/port、用戶名和密碼,郵件發送端的用戶名和密碼,這些都是絕對不能泄露的。

那怎麽辦呢?簡單!復制settings文件,並重命名為settings.example.py文件,放在同一目錄裏,把敏感信息、密碼等修改或刪除。使用者看到這個文件名,自然會明白它的作用。

四、添加說明文件和許可文件

通常我們要給Github的倉庫添加說明文件和許可文件。

在項目根目錄下創建一個README.md文件,這是markdown格式的。在文件裏寫入項目說明,使用方法,註意事項等等所有你認為需要說明的東西。

對於許可文件LICENSE,如果你暫時不想公開授權,或者不知道用哪種授權,可以暫時不提供。

下面是一個APACHE2.0授權的範例:

   mysite - User login and register system

   Copyright 2017- www.liujiangblog.com

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

五、上傳代碼

在上傳過程中,確認文件列表的時候,一定要註意查看沒有保密文件被上傳。

技術分享圖片

等待一會,項目文件上傳完畢後,進入Github的倉庫頁面,如下所示:

技術分享圖片

點擊進入詳細頁面:

技術分享圖片

現在,所有人都可以通過下面的方式,下載和使用本項目的源代碼了:

git clone https://github.com/feixuelove1009/liujiangblog_project_1

六、使用Github倉庫中的源碼

如果你不是從教程的開始一步步地實現整個項目,而是直接使用從Github上copy下來的整個源碼,那麽你可能需要做一些額外的工作,比如:

  • 創建虛擬環境
  • 使用pip安裝第三方依賴
  • 修改settings.example.py文件為settings.py
  • 運行migrate命令,創建數據庫和數據表
  • 運行python manage.py runserver啟動服務器

而在Pycharm中運行服務器的話,可能還需要做一些額外的工作,比如:

  • 配置解釋器
  • 配置啟動參數

因為你本地Pycharm的配置情況,可能會發生不同的問題,需要根據實際情況實際處理,下面給兩張配置圖,供大家參考:

技術分享圖片

技術分享圖片

以上內容,都經過實際測試,如果你依然不能順利啟動服務器,請詳細檢查Pycharm的配置。

至此。

[參考出處:http://www.liujiangblog.com/course/django/115]

PyCharm 使用Github托管Django項目