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插件,如下图所示:

我这里是已经安装好了,新安装的话,要在搜索栏里搜索到插件后再安装。
在".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.
五、上传代码
在上传过程中,确认文件列表的时候,一定要注意查看没有保密文件被上传。

等待一会,项目文件上传完毕后,进入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即可,其余内容会自动关联好):


以上内容,都经过实际测试,如果你依然不能顺利启动服务器,请详细检查Pycharm的配置。
至此,转载请注明出处。
[参考出处:http://www.liujiangblog.com/course/django/115,有改动]
[ 本站相关链接:>>Django部署 ]

PyCharm 使用Github管理Django项目的更多相关文章
- pycharm社区版创建django项目(Windows 8.1)
django是Python的一个开源web框架,在pycharm开发环境中,pycharm专业版在新建一个项目的时候有django选项,帮助创建一个django框架的项目.pycharm社区版需要自己 ...
- Pycharm新建第一个Django项目
1:安装django 打开Pycharm,在creatproject那里选择新建django项目的时候,会自动帮你安装最新版的Django版本 2:进入Pycharmd的命令窗口,在下方Termina ...
- pycharm社区版对于django项目的创建
学习django的基础的东西:python基础(虽然自己看了一遍,不过还有好多东西都是一知半解的,所以还要重复看,去加强自己的基础). 数据库SQL(自己也是对一些基础语句运用的不熟练,然后接下来的主 ...
- PyCharm 社区版创建Django项目的一个方法
PyCharm 社区版创建项目无法选择Django等项目,只能选择Python项目. 你在进行练习的时候为了方便,可以用过期了的PyCharm专业版在可用的30分钟内创建社区版本不支持的项目,再用Py ...
- pycharm中配置启动Django项目
1.先打开mange.py,然后再运行,会提示一堆东西,表示没有配置参数.在pycharm中点击edit configurations 编辑配置参数. 2.点开之后弹出如下对话框,在scrip par ...
- PyCharm使用Github管理代码
本篇文章主要写一下如何通过pycharm客户端来上传下载代码. 安装Git 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安 ...
- 使用pycharm 运行python的django项目时报错“Quit the server with CTRL-BREAK.”
Quit the server with CTRL-BREAK.Error: [Errno 10013] 1昨晚测试时还好好的,怎么突然出现这个错误,于是GOOLE,找到个帖子说可能是端口占用了,用工 ...
- PyCharm Django项目开发的调试方法
下面介绍两种PyCharm Django项目开发的调试方法: 方法一: 1. 使用PyCharm 自带的django项目Debug工具, 当然前提条件是django项目环境已经搭建好了. 2. 在代码 ...
- 在PyCharm上创建Django项目
声明:此Django分类下的教程是追梦人物所有,地址http://www.jianshu.com/u/f0c09f959299,本人写在此只是为了巩固复习使用 首先我们在Pycharm上新建一个Dja ...
随机推荐
- 源码安装ELK-5.6.10版本
目录: 一.介绍 二.安装JDK 三.安装Elasticsearch 四.安装Kibana 五.安装Nginx 六.安装Logstash 七.安装Logstash-forwarder 八.测试 系统环 ...
- mysql 开发基础系列18 存储过程和函数(下)
1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
- python 分享一个通过 (key1.key2.key3) 形式获取嵌套字典值的方法
最近在做接口自动化测试,响应的内容大多数是多层嵌套的json数据,如果一层层的去剥,效率不高,脚本繁重,所以写了一个可以通过(key1.key2.key3)形式获取嵌套字典值的方法,如有不对或者需要优 ...
- 基于Electron+.NET Core的前后端分离的跨平台桌面应用
Web做界面比原生桌面界面开发速度真心要快很多,而且组件也多. 分析: 1..NET Core和Electron都是跨平台的. 2.NET Core做后端很方便,但是没有GUI,Electron做桌面 ...
- fail2ban[防止linux服务器被暴力破解]
一 介绍fail2ban fail2ban 可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH. SMTP.FTP密 ...
- Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
一. MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...
- 开发-封闭原则(OCP)
1.什么是“开放-封闭” 随着软件系统规模的不断增大,软件系统的维护和修改的复杂性不断提高,这种困境促使法国工程院士Bertrand Meyer在1998年提出了“开放-封闭”(Open-Close ...
- Spring之BeanPostProcessor(后置处理器)介绍
为了弄清楚Spring框架,我们需要分别弄清楚相关核心接口的作用,本文来介绍下BeanPostProcessor接口 BeanPostProcessor 该接口我们也叫后置处理器,作用是在Be ...
- ife2018 零基础学院 day 4
第四天,背景边框列表链接和更复杂的选择器 背景,边框,列表,链接相关属性 背景 MDN 背景 W3School 背景 元素的背景是指,在元素内容.内边距和边界下层的区域. 属性 描述 backgrou ...
- springMVC_11拦截器实现登录
一. 思路 controller实现核对用户名和密码,如果核对正确则保存到session中并且跳转到主页 系统中包含诸多界面,部分界面不需要登录即可进行访问,通过拦截器实现判断是否是不需要登录的界 ...