因為此文章是實踐專案文章,所以對於基礎的python安裝就不多做贅述,這裡只交代系統環境是ubuntu作業系統,python3.5
安裝虛擬環境:
sudo pip3 install virtualenv
安裝虛擬環境擴充套件包:
修改使用者家目錄下的.bashrc
,新增如下內容:
export workon_home/.virtualenvs
執行source.bashrc
命令使配置生效
建立:mkvirtualenv -p python3 dailyfresh
退出:deactivate
檢視:workon
使用:workon dailyfresh
刪除:rmvirtualenv dailyfresh
包操作:安裝:pip install 包名稱
;檢視包pip list
pip freeze
安裝django包:pip install django==1.8.2
① 建立專案:django-admin start project 專案名稱
import os
import sys
# build paths inside the project like this: os.path.join(base_dir, ...)
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(
0, os.path.join(base_dir,))
...[
'django.contrib.admin'
,'django.contrib.auth'
,'django.contrib.contenttypes'
,'django.contrib.sessions'
,'django.contrib.messages'
,'django.contrib.staticfiles'
,'user'
,# 使用者模組
'goods'
,# 商品模組
'cart'
,# 購物車模組
'order'
,# 訂單模組
]
⑤ 建立資料庫:create database dailyfresh charset=utf8
⑥ 配置遠端連線資料庫:sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
修改配置檔案,bind_address = 本地ip位址
,修改結束後,重啟資料庫sudo service mysql restart
。
資料庫賦權,在遠端資料庫中對django所在伺服器資料庫進行賦權
grant all privileges on dailyfresh2.* to root@'192.168.209.137' identified by 'mysql' with grant option;
dailyfresh2 是資料庫名database
root是被賦權的伺服器mysql使用者名稱,@上伺服器的ip位址,以『mysql』作為密碼登入
讓授權生效:
flush privileges
⑦ 資料庫配置:
databases =
}
在dailyfresh/init.py檔案中,新增如下**yinru mysql:
import pymysql
pymysql.install_as_mysqldb(
)
安裝pymysql模組:pip install pymysql
⑧ 語言、時區配置:
language_code =
''zh-hans
time_zone =
'asia/shanghai'
安裝celery:
pip install celery
啟動任務:
celery -a celery_tasks.tasks woker -l info
一、安裝環境及框架
安裝:pip install django-haystack
安裝:pip install whoosh
二、註冊及配置
①註冊:(.
..'haystack'
,# 註冊全文檢索框架..
.)②配置
haystack_connections =
}# 當新增、修改、刪除資料時,自動生成檢索
haystack_signal_processor =
'haystack.signals.realtimesignalprocessor'
三、索引檔案的生成
在應用下新增search_indexes.py
# 定義索引類
from haystack import indexes
# 匯入模型類
from goods.models import goodssku
# 制定對於某個類的某些資料簡歷索引
# 索引類名格式:模型類名+index
class
goodsskuindex
(indexes.searchindes, indexes.indexable)
:# 索引字段 use_template=true制定根據表中的哪些字段簡歷索引檔案的說明放在乙個檔案中
text = indexes.charfield(document=
true
, use_template=
true
)# 返回模型類
defget_model
(self)
:return goodssku
# 建立索引的資料
defindex_queryset
(self, using=
none):
return self.get_model(
).objects.
all(
)
四、建立模板資料夾
路徑templates/search/indexes/goods
,在此資料夾中新增檔案goodssku_text.txt
,其中goodssku
是上一步中新增的類goodsskuindex
的名稱去掉index
後小寫,後邊再拼接上_text.txt
內容如下:
# 制定根據表中的哪些字段簡歷索引資料
} # 根據商品的名稱建立索引
} # 根據商品的簡介建立索引
} # 根據商品的詳情建立索引(可以訪問字表的資料)
五、建立索引檔案
執行如下語句
python manage.py build_index
天天生鮮Django專案總結
有關 的一些問題 request.post.get方法只能獲得陣列的最後乙個元素,必須使用request.post.getlist才能獲取整個陣列,以python列表的形式返回所請求鍵的資料。如果鍵不存在放回空列表。它保證了一定會返回某種形式的list。django2.2及以後的版本於mysql不相...
天天生鮮Django專案(四)
37 在後台新增資料 為了顯示方便,為每乙個模型類新增 str 方法,否則後台只顯示 object n 不好看 goods models.py from django.db import models from db.base model import basemodel from tinymce....
天天生鮮1
註冊 通過是請求頁面還是向伺服器傳輸資料來判斷是註冊還是訪問。註冊顯示函式 通過register返回乙個註冊頁面 註冊處理函式 進行資料接收 request.post.get 進行資料校驗 ifrender 資料不完整 對郵箱和使用者名稱等進行正則匹配,若不匹配,則返回錯誤頁面和提示。檢查使用者名稱...