django項目環境搭建
項目環境搭建
在github上創建項目
- 點擊new 新建項目
- 公鑰綁定
- 使用 git clone 項目到本地
一、在碼云平臺創建項目
版本控制的種類:
- 主要使用github(最主流)
- 國內訪問速度慢
- 托管私有項目收費
- 國內一般使用碼云gitee
- 國內訪問速度快
- 托管私有項目免費
- 公司中使用gitlab或者svn來搭建
創建步驟
? a.打開碼云 ,注冊登錄
? b.創建public工程
?
? c.新建項目
? d.在虛擬機中生成ssh公鑰(一直回車)
# 在home目錄配置公鑰
1、 ssh-******
使用ls -a 命令可以查詢文件
2、 cd .ssh
可以指定標題生成,如果不指定那么默認 pyvip@VIP
ssh-****** -t rsa -C "[email protected]"
? 將公鑰復制下來,粘貼至碼云中?
1, 公鑰生成
2,復制公鑰到碼云平臺進行關系綁定
? 3, 公鑰配置到碼云
e.克隆項目到本地
? 復制SSH鏈接
? 克隆項目到虛擬機中
###二、創建虛擬環境
? 1、在虛擬機上新建虛擬環境
# 查詢系統本系統中安裝的python版本
ls -l /usr/bin/python*
# 系統中python默認版本為python2.7,可以將其修改為python3
# 第一步:先刪除python
rm -rf /usr/bin/python
# 第二步:創建軟鏈接
ln -s /usr/bin/python3 /usr/bin/python
# 第三步:查看python版本是否修改為python3
python -V
# 如果已經將python改為python3版本,可以直接創建虛擬環境
mkvirtualenv 虛擬環境名字
# 如果未修改python版本,則創建虛擬環境時需要指定python版本
mkvirtualenv 虛擬環境名字 -p python3
三、其他配置
修改 settings
文件
1.配置模板文件
在項目根目錄新建一個templates文件夾,用于存放模版文件。
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',
],
'builtins': ['django.templatetags.static'],
},
},
]
2.配置mysql數據庫
a.連接虛擬機中的mysql,使用root用戶登錄:
mysql -uroot -p
b.創建數據庫
mysql> CREATE DATABASE mysite CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)
c.創建用戶
# 新建 用戶 密碼
mysql>create user xiaohong identified by 'xiaohong';
Query OK, 0 rows affected (0.00 sec)
d.用戶授權
# 賦予小紅某庫的所有權限 庫 后面是賬號
mysql> grant all on mysite.* to 'xiaohong'@'%';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.20 sec)
e.加載數據庫配置
方法一:直接在settings.py文件中添加數據庫配置信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 數據庫引擎
'NAME': 'mysite', # 數據庫名稱
'USER': 'xiaohong', # 數據庫登錄用戶名
'PASSWORD': 'xiaohong', # 密碼
'HOST': '192.168.216.137', # 數據庫主機IP,如保持默認,則為127.0.0.1
'PORT': 3306, # 數據庫端口號,如保持默認,則為3306
}
}
方法二:將數據庫配置信息存到一個文件中,在settings.py文件中將其引入。(推薦)
? 新建數據庫配置文件my.cnf(名字隨意選擇)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8nx7hd0M-1584179770933)(…/images/db_cnf.jpg)]
? 在settings.py文件中引入my.cnf文件
DATABASES = {
# 方法二:
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': 'utils/dbs/my.cnf',
},
}
}
方法二:安裝pymysql,并且需要在settings.py文件所在包中的__init__.py
中導入pymysql
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql
3.配置redis緩存
用于存放用戶session信息、短信驗證碼以及圖片驗證碼信息等。
# 在虛擬機中安裝django-redis
pip install -i https://pypi.douban.com/simple django-redis
# 在settings.py文件中指定redis配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
4.配置日志器
用于記錄系統運行過程中的各種日志信息。
在項目根目錄中創建一個logs文件夾,用于存放日志文件
# 在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/xiaohong.log"), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定義了一個名為django的日志器
'handlers': ['console', 'file'],
'propagate': True,
'level': 'INFO', # 日志器接收的最低日志級別
},
}
}
5.時區配置
# 修改語言
LANGUAGE_CODE = 'zh-hans'
# 修改時區
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# utc 時間
USE_TZ = True
6.修改靜態文件配置
? 在項目根目錄中創建一個static目錄,用于存放靜態文件(css、js、image、font等)
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'), # 用于存放靜態文件
]
7.創建應用
? a.本項目主要由4個模塊組成,分別為新聞文章模塊、課程視頻播放模塊、文檔下載模塊、用戶管理模塊等。在項目根目錄下創建一個apps目錄用于存放各個子應用。
# 在虛擬機中,cd進入apps
cd apps
python ../manage.py startapp news
python ../manage.py startapp course
python ../manage.py startapp doc
python ../manage.py startapp users
? b.在settings.py文件中,加入如下配置
import sys
# 創建應用之后,把apps目錄加入到sys.path中
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
? c.分別在apps文件夾和項目根目錄文件夾上右擊,加入到Sources Root根中,優化導入路徑。
?
? d.將應用加入到INSTALLED_APPS列表中
INSTALLED_APPS = [
# ...
'users', # 將應用加入到INSTALLED_APPS列表中
'course',
'doc',
'news',
]
四、將項目推送到碼云
-
在虛擬機中配置代碼推送人身份信息(填寫自己的名字和郵箱地址)
# 填寫你的郵箱地址 git config --global user.email "[email protected]"
# 填寫你的用戶名 git config --global user.name "xiaoming"
-
將代碼推送至本地倉庫(虛擬機中)
# 工作區添加到暫存區 git add .
# 暫存區提交到倉庫區,-m為添加注釋信息 git commit -m "項目初始化,完成settings中數據庫、模板、時區、靜態目錄指定等。"
-
將代碼推送至遠程倉庫(碼云上)
# 將代碼推送到遠程倉庫 git push Username for 'https://gitee.com': Password for 'https://[email protected]':
碼云中就出現了,你的本次寫的代碼。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-tpPz4qnF-1584179770934)(C:\Users\灰太狼大哥\Desktop\django項目課件\images\推送成功.png)]
安裝MySQL
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server
#命令3
sudo apt install mysql-client
#命令4
sudo apt install libmysqlclient-dev
#檢查是否安裝成功
sudo netstat -tap | grep mysql
設置mysql允許遠程訪問,首先編輯文件/etc/mysql/mysql.conf.d/mysqld.cnf:編輯配置文件就輸入命令
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
進入配置文件后
1、注釋掉bind-address = 127.0.0.1:
或者bind-address = 0.0.0.0
安裝mysql未提示輸入密碼,安裝后修改mysql密碼默認密碼
mysql默認密碼為空
但是使用mysql -uroot -p 命令連接mysql時,報錯
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’
此時修改root的默認密碼即可
1.進入到etc/mysql 目錄下,查看debian.cnf文件
sudo vim /etc/mysql/debian.cnf
2.找到用戶名,密碼 ,使用此賬號登錄mysql
用戶名:debian-sys-maint
密碼:xedvSNKdLavjuEWV
mysql -udebian-sys-maint -pxedvSNKdLavjuEWV
3.修改root用戶的的密碼
這里是關鍵點,由于mysql5.7沒有password字段,密碼存儲在authentication_string字段中,password()方法還能用
在mysql中執行下面語句修改密碼
show databases;
use mysql;
update user set authentication_string=PASSWORD(“自定義密碼”) where user=‘root’;
update user set plugin=“mysql_native_password”;
flush privileges;
quit;
4.修改完密碼,需要重啟mysql
/etc/init.d/mysql restart;
再次登錄
mysql -u root -p 密碼;(mysql -u root -pnoah0567)
Redis安裝
在線安裝
直接輸入命令 sudo apt-get install redis-server
安裝完成后,Redis服務器會自動啟動。
使用ps -aux|grep redis
命令可以看到服務器系統進程默認端口6379
下載安裝包:
下載:打開redis官方網站,推薦下載穩定版本(stable)
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解壓tar xzf redis-5.0.5.tar.gz
復制:推薦放到usr/local目錄下sudo mv redis-5.0.5 /usr/local/redis
進入redis目錄 cd /usr/local/redis/
生成:sudo make失敗則 使用 sudo make MALLOC=libc后再sudo make
測試 sudo make test 這段運行時間會較長
安裝:將redis的命令安裝到/usr/bin/目錄sudo make install
運行 redis-server 按ctrl+c停止
Redis服務器基本配置
配置文件為/etc/redis/redis.conf(在線安裝推薦)或者 /usr/local/redis/redis.conf(手動安裝)
首先sudo vi /etc/redis/redis.conf
添加Redis的訪問賬號
Redis服務器默認是不需要密碼的,假設設置密碼為hzlarm。
去掉requirepass 前面的注釋#,在后面添加密碼
requirepass hzlarm
開啟Redis的遠程連接
注釋掉綁定地址#bind 127.0.0.1
修改Redis的默認端口
port 6379
Redis以守護進程運行
如果以守護進程運行,則不會在命令行阻塞,類似于服務
如果以非守護進程運行,則當前終端被阻塞,無法使用
推薦改為yes,以守護進程運行
daemonize no|yes
Redis的數據文件
dbfilename dump.rdb
數據文件存儲路徑
dir /var/lib/redis
配置完成后重新啟動服務器
sudo /etc/init.d/redis-server restart or
sudo service redis-server restart or
sudo redis-server /etc/redis/redis.conf
Redis安裝 配置服務器 啟動客戶端 數據操作 發布訂閱 主從配置 卸載Redis
啟動客戶端
安裝Redis服務器,會自動地一起安裝Redis命令行客戶端程序。命令行輸入 redis-cli 如果設置了密碼hzlarmredis-cli -a hzlarm
常用命令: Redis命令不區分大小寫
ping返回PONG表示暢通
help 命令行的幫助
quit 或者Ctrl+d或者Ctrl+c退出
配置django開發環境
目標:從0開始點燃django小火箭
本篇文章分五個部分
第一部分:Xshell連接
第二部分:修改python版本
第三部分:重裝pip
第四部分:配置虛擬環境
第五部分:用集成開發環境點燃小火箭
打開一個船新的阿里云服務器
第一部分:Xshell連接
打開Xshell進行連接(不用Xshell也可以)
-----------------------------------------------Xshell連接開始---------------------------------------
新建一個會話
輸入名稱,主機端口后點確認。(主機端口可以在阿里云實例后臺找到)
輸入用戶名
連接成功
-----------------------------------------Xshell連接結束------------------------------------
第二部分:修改python版本
首先,系統中python默認版本為python2.7,可以將其修改為python3
# 第一步:先刪除python2
rm -rf /usr/bin/python
# 第二步:創建軟鏈接
ln -s /usr/bin/python3 /usr/bin/python
# 第三步:查看python版本是否修改為python3
python -V
執行完這三部之后,我們可以看到,python默認的已經是3.6的版本了
但是這個時候,原本文件里的pip沒了,我們輸入pip list,會發現報錯
但是這個時候,原本文件里的pip沒了,我們輸入pip list,會發現報錯
第三部分:重裝pip
此時,我們先更新apt,然后通過apt下載pip
# 更新apt
sudo apt update
# 第二步:下載pip
sudo apt install python3-pip
第四部分:配置虛擬環境
接下來安裝虛擬環境(虛擬環境是為了是各個django之間的版本不沖突)
首先通過pip下載mkvirtualenv
sudo pip install virtualenv
sudo pip install virtualenvwrapper
安裝完之后還要配置一些東西
# 進入根目錄
cd~/
# 查看隱藏文件
ls -a
# 打開其中的.bashrc文件
vim .bashrc
按i,進入寫入模式
在末尾添加這兩行代碼,然后保存退出(:wq)
export WORKON_HOME=~/.environments
source /usr/local/bin/virtualenvwrapper.sh
最后加載.bashrc文件
source ~/.bashrc
然后輸入mkvirtualenv 你的虛擬環境名字 ,創建虛擬環境成功
輸入
# 版本看個人需求
pip install django==2.1.4
第五部分:用集成開發環境點燃小火箭
打開你喜歡的集成開發環境,這里拿pycharm舉例
新建項目
同步一下
配置啟動程序
大功告成
智能推薦
Linux+Jenkins環境搭建以及自動部署django項目
一、Jenkins的優點 1、傳統網站部署流程 一般網站部署的流程 這邊是完整流程而不是簡化的流程 需求分析—原型設計—開發代碼—內網部署-提交測試—確認上線—備份數據—外網更新-最終測試 ,如果發現外網部署的代碼有異常,需要及時回滾。 一般是運維來做 1、功能測試 2、上線的時間 3、 jenkins...
搭建Django項目虛擬環境(Windows系統下)
(一)1、安裝virtualenv 我們可以使用正式的Python環境中的pip進行安裝。進入cmd界面,運行“ pip install virtualenv ”,完成安裝后,可以運行“ where virtualenv ”驗證安裝情況。 2、建立虛擬環境 為了方便管理,我們要建立一個目錄,統一來放置所有的虛擬環境。  ...
Django建教育平臺(一)--搭建環境,新建項目
之前[單頁面]Django搭建教育平臺系列, 是用單頁面form來練習django的用法, 沒有建立完整的網站, 接下來才真正建立多頁面網站. 1. 創建python3虛擬環境 在cmd命令行輸入mkvirtualenv -p C:\Python34\Python.exe elearn_py3 -p后面所寫的python路徑依實際Python具體安裝路徑而定, 我這里選擇Python3.4版本. ...
如何在虛擬機搭建Django項目--小白入門(Django環境搭建)
1.Django介紹: 1.Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MTV的框架模式,即模型M,視圖V和模版T。它最初是被開發來用于管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟件。 2.Django是一個基于MVC構造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關注的是模型(Mod...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...