PyCharm 使用Github托管Django項目


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

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

一、 創建requirement.txt文件

"requirement.txt"(可自命名)文件是一個項目的依賴庫文件,可以通過下面的方式自動生成:

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

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

打開文件"requirement.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 requirement.txt    # 注意是requirements.txt的完整路徑或相對路徑

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

二、創建.gitignore文件

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

方式1:

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

43.png-162kB

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

在".gitignore"文件里寫入下面的內容:

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

方式2:

打開設置,如圖。

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

三、特殊文件處理

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

 # SECURITY WARNING: keep the secret key used in production secret!
 SECRET_KEY = '81$k-x)bqrs4!!kjyifja)g=^zi*j@62$&n_c%4&ic*ni5q%dd'

還有數據庫的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.

五、上傳代碼

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

44.png-58.4kB

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

 

點擊進入詳細頁面:

 

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

git clone https://github.com/*******_project_1

六、使用Github倉庫中的源碼

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

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

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

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

因為你本地Pycharm的配置情況,可能會發生不同的問題,需要根據實際情況實際處理,下面給兩張配置圖,供大家參考(一般情況下只填Name,Host和Port即可,其余內容會自動關聯好):

47.png-91.5kB

48.png-73.6kB

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

 

  至此,轉載請注明出處。

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

[ 本站相關鏈接:>>Django部署 ]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM