PyCharm 使用Github託管Django項目

不論是對於教程代碼免費分享的須要,仍是項目開發過程當中的版本管理,Github都是咱們首選的開源代碼倉庫,若是你沒有私有倉庫,而且不用保護代碼,那麼將項目上傳到Github上是最佳的選擇。html

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

1、 建立requirement.txt文件

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

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

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

打開文件"requirement.txt",其內容以下:sql

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

就能夠一次性安裝好全部的庫了。express

2、建立.gitignore文件

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

方式1:

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

43.png-162kB

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

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

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

方式2:

打開設置,如圖。

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

3、特殊文件處理

對於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文件,放在同一目錄裏,把敏感信息、密碼等修改或刪除。使用者看到這個文件名,天然會明白它的做用。

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

一般咱們要給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.

5、上傳代碼

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

44.png-58.4kB

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

 

點擊進入詳細頁面:

 

如今,全部人均可以經過下面的方式,下載和使用本項目的源代碼了:

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

6、使用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部署 ]

相關文章
相關標籤/搜索