本文轉載自: 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
碼雲中就出現了,你的本次寫的代碼