用 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。

如果你有任何问题,写下来可能我可以回答。

广告
将在 10 秒后关闭
bannerAds