本文转载自: https://blog.csdn.net/xiaogeldx/article/details/89038299css
在公司中使用gitlab或者svn来搭建python
克隆项目
mysql
查询系统本系统中安装的Python版本linux
ls -l /usr/bin/python*
建立虚拟环境时须要指定Python版本git
virtualenv -p python3.6 django_web
进入虚拟环境,安装django(目前最新版本2.2,这次安装2.1.7版本)github
source activate pip install django==2.1.7
配置远程服务器
填云服务器的ip,用户名和密码
选择远程的解释器
在Remote project location选择远程的项目文件夹,点建立
配置代码同步,File的Settings的Deployment,填上ip,端口号,用户名,密码,而后Test Connection链接测试,成功后选择Root path:远程项目的文件夹(或者把Mappings的Deployment path的地址剪切过来)
Mappings的Deployment path的路径为/
Deployment的Options的Upload changed选Always,一直自动上传
选择编辑器右上角的Edit Configuration的按钮
点击添加Django server
改Host为0.0.0.0,表示的是容许链接服务器的IP #方便调试,使用什么ip都能访问到
点击Environment Variables项后面的…
将DJANGO_SETTINGS_MODULE添加到Name,将项目名.settings添加到Value
在apply按钮上有可能fix有红灯标志,点进去
把Enable Django Support勾选上,Django project root行点文件夹标志,选上根目录,Settings行点文件夹标志,选上根目录下的settings.py文件web
Linux安装redis
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev apt-get install git git --version #查看版本
配置用户sql
git config --global user.name 用户名 git config --global user.email 邮箱
查看配置信息数据库
git config --list
使用如下命令生成SSH Key:
ssh-keygen -t rsa -C "邮箱" #注意有引号#邮箱是github注册的邮箱
一直回车就行,成功的话会在~/下生成.ssh文件夹,进去,打开 id_rsa.pub,复制里面的 key
cd ~ cd .ssh cat id_rsa.pub #复制key
为了验证是否成功用以下代码
ssh -T git@github.com #成功会显示github名
建立一个和github的项目名相同的git本地仓库的文件夹,而后进入文件夹
#下面这些代码是复制图中的第二种方法的代码 echo "# hahaah" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:xiaogeldx/hahaah.git git push -u origin master
先在命令行建立项目,而后再设置pycharm代码同步
新建项目的命令:django-admin startproject projectname
Linux虚拟机网络链接方式是nat端口转发时,须要设置http服务8000端口的转发
在apply按钮上有可能fix有红灯标志,点进去,把Enable Django Support勾选上,Django project root行点文件夹标志,选上根目录,Settings行点文件夹标志,选上根目录下的settings.py文件
MySQL服务的端口号3306
修改 settings
文件
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], # 将函数内置到模板中 https://docs.djangoproject.com/en/2.1/topics/templates/ 'builtins': ['django.templatetags.static'], }, }, ]
mysql -uroot -p
mysql> CREATE DATABASE web_prv CHARSET=utf8; Query OK, 0 rows affected (0.13 sec)
mysql> CREATE USER root IDENTIFIED BY 'xxxx'; Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON web_prv.* TO 'root'@'%'; mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.20 sec)
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'web_prv', # 数据库名称 'USER': 'root', # 数据库登陆用户名 'PASSWORD': 'xxxx', # 密码 'HOST': 'x.x.x.x', # 数据库主机IP,如保持默认,则为127.0.0.1 'PORT': 3306, # 数据库端口号,如保持默认,则为3306 } }
DATABASES = { # 方法二: 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': 'utils/dbs/my.cnf', }, } }
my.cnf
[client] database = web_prv user = root password = xxxx host = x.x.x.x post = 3306 default-character-set = utf8
__init__.py
中导入pymysqlpip install -i https://pypi.douban.com/simple pymysql
# 在虚拟机中安装django-redis pip install -i https://pypi.douban.com/simple django-redis
# 在settings.py文件中指定redis配置 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://106.13.131.178:6379/0", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } }, #这样的库能够建多个,除了名字和路径不一样,其余同样 # "verity_codes": { # "BACKEND": "django_redis.cache.RedisCache", # "LOCATION": "redis://106.13.131.178:6379/1", # "OPTIONS": { # "CLIENT_CLASS": "django_redis.client.DefaultClient", # } # } }
新建web_prv.log文件
#在setting.py文件中加入以下配置: #配置日志器,记录网站的日志信息 LOGGING = { # 版本 'version': 1, # 是否禁用已存在的日志器 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' }, 'simple': { 'format': '%(levelname)s %(module)s %(lineno)d %(message)s' }, }, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'simple' }, 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(BASE_DIR, "logs/web_prv.log"), # 日志文件的位置 'maxBytes': 300 * 1024 * 1024, 'backupCount': 10, 'formatter': 'verbose' }, }, 'loggers': { 'django': { # 定义了一个名为django的日志器 'handlers': ['console', 'file'], 'propagate': True, 'level': 'INFO', # 日志器接收的最低日志级别 }, } }
# 修改语言 LANGUAGE_CODE = 'zh-hans' # 修改时区 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True # utc 时间 USE_TZ = True
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), # 用于存放静态文件 ]
# 在Ubuntu中,cd到项目根目录 cd apps python manage.py startapp news1 python manage.py startapp course python manage.py startapp doc python manage.py startapp users
pycharm的Tools-->Run manage.py Task...
startapp appname
import sys # 建立应用以后,把apps目录加入到sys.path中 #使apps能够进行查找 sys.path.insert(0, BASE_DIR) sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
INSTALLED_APPS = [ # ... 'users', # 将应用加入到INSTALLED_APPS列表中 'course', 'doc', 'news', ]
apps右键-->Mark Directory as Sources Root
在虚拟机中配置代码推送人身份信息(填写本身的名字和邮箱地址)
# 填写你的邮箱地址 (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.email "xxx@qq.com"
# 填写你的用户名 (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.name "xiaogeldx"
将代码推送至本地仓库(虚拟机中)
# 工做区添加到暂存区 (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git add .
# 暂存区提交到仓库区,-m为添加注释信息 (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
将代码推送至远程仓库(码云上)
# 将代码推送到远程仓库 (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git push
码云中就出现了,你的本次写的代码