用 Django Oscor 开始复制黏贴
序言
原因
我有文件,但为了避免纠结,我整理好了。
前提 tí)
苹果操作系统 X / macOS
※请根据您的操作系统,适时对以下内容进行阅读:如果您使用的是Linux操作系统或Windows操作系统,请自行替换相关内容。
Django Oscar是什么?
这是一个能在Django上运行的购物网站。
文件
安装
只需要一种选项
已经安装了Django 1.9和Python 3。
如果能使用virtualenv等更好。
由于是开源的,因此我认为可以在Git上进行以下操作,但事实并非如此。Django项目本身是自己创建的,而Oscor本身则以模块方式使用。
git clone https://github.com/django-oscar/django-oscar
首先放入主体。
pip install django-oscar
2. 我将这些也放入文件之中,就像它们悄悄地被写在那里一样。
pip install django_compressor
pip install pysolr
Django_compressor 是什么?
这是Oscor支持的模板引擎。
虽然可选,但我会将其安装。
django-widget-tweaks也是一个模板引擎,但在安装django-oscar时会自动包含进去。
pysolr是什么?
“Apache Solr(Lucene)” is an open-source search engine, and this is something that runs it using Python.
3. 安装和启动Solr
brew install solr
Solr的启动准备
创建用于Solr日志的文件夹。
mkdir -p /usr/local/Cellar/solr/6.1.0/example/logs/
请根据您自己的环境对6.1.0部分进行相应的安装调整,因为它会因为您所安装的版本而有所不同。
使用solr start命令启动。将会输出以下类似的日志。
$ solr start
Waiting up to 30 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=40099). Happy searching!
4. 创建Django项目
请使用以下命令进行生成。将”frobshop”替换为您自己想要的项目名称。
django-admin.py startproject frobshop
我们也应该创建一个超级用户。
python manage.py createsuperuser
5. 设定 settings.py
因为这次是frobshop项目,所以请根据您的环境自行配置路径。
请参照“追加”部分进行添加。
如果您希望在注释或其他方式中包含日语,请将其写在顶部。
# -*- coding: utf-8 -*-
在最上方添加以下内容时,请不要忘记位置!
import os
from oscar.defaults import * # 追加
# 追加
location = lambda x: os.path.join(
os.path.dirname(os.path.realpath(__file__)), x)
应用程序配置
为了避免忘记SITE_ID = 1,否则将无法在后续中登录到管理员界面,务必牢记。
from oscar import get_core_apps # 追加
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites', # 追加
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.flatpages',
'compressor', # 追加
'widget_tweaks', # 追加
] + get_core_apps() # 追加
SITE_ID = 1 # 追加
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'oscar.apps.basket.middleware.BasketMiddleware', # 追加
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', # 追加
]
模板系
from oscar import OSCAR_MAIN_TEMPLATE_DIR # 追加
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ # 追加
os.path.join(BASE_DIR, 'templates'),
OSCAR_MAIN_TEMPLATE_DIR
],
'APP_DIRS': True,
'OPTIONS': {
请在数据库的项目下方将以下内容完整添加进去。
# 追加
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
'URL': 'http://127.0.0.1:8983/solr',
'INCLUDE_SPELLING': True,
},
}
将STATIC_URL和STATIC_ROOT放在最下方。
STATIC_URL = '/static/'
# 追加
STATIC_URL = '/static/'
STATIC_ROOT = location('public/static')
6. 設定urls.py
※如果您想在评论或其他地方包含日语,请将此内容写在最上面。
# -*- coding: utf-8 -*-
增加include。url默认已包含在内。
from django.conf.urls import include, url # 追加
urlpatterns = [
url(r'^i18n/', include('django.conf.urls.i18n')), # 追加
url(r'^admin/', admin.site.urls),
url(r'', include(application.urls)), # 追加
]
6. 这是迁移过程。
python manage.py migrate
7. 开始运行
python manage.py runserver
让我们访问 http://localhost:8000/。
管理页面的网址是http://localhost:8000/admin,
如果出现错误,那就是忘记了SITE_ID = 1。
如果你有任何问题,写下来可能我可以回答。