天天生鮮專案從0開始

2021-09-23 20:37:41 字數 3865 閱讀 8008

因為此文章是實踐專案文章,所以對於基礎的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 listpip 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 資料不完整 對郵箱和使用者名稱等進行正則匹配,若不匹配,則返回錯誤頁面和提示。檢查使用者名稱...