大家好
最近因為有需求,需要用python 架設網站
但是我又很不想從頭寫起,感覺如果有現成套件還是想用現成套件來達成
所以我找一找發現有這個 oscar framework
Domain-driven e-commerce for Django
這邊會大略講一下如何自訂的精神
基本上就是覆蓋類別的意思
官方文件這邊有說明:
我們可以使用以下指令產生django app
./manage.py oscar_fork_app dashboard zfshop/
dashboard 是要修改的功能
zfshop是自己的主APP名稱
django app 就是類似一個 controller
然後在 settings.py 加入呼叫
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', #oscar 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.flatpages', #oscar 'widget_tweaks' #oscar ] + get_core_apps(['zfshop.catalogue','zfshop.dashboard','zfshop.dashboard.catalogue']) #oscar
然後在
zfshop/dashboard/catalogue/forms.py
from oscar.apps.dashboard.catalogue.forms import ProductForm as ProdForm class ProductForm(ProdForm): class Meta(ProdForm.Meta): fields = ( 'title', 'upc', 'description', 'is_discountable', 'structure', 'foodtype')
就可以覆蓋原本設定
所以這邊修改需要查看原本的 oscar 程式架構才可以
感覺起來是不太直覺
但是好像也只能這樣做
至於說使用人家寫好的 framework 來做 django 好不好?
這我覺得就見仁見智了
但是重點是一旦寫下去
就必須要一直這樣寫下去
因為繼承別人的架構可不好修改的
留言板
歡迎留下建議與分享!希望一起交流!感恩!