博客
关于我
Django-oscar 快速搭建商城网站
阅读量:368 次
发布时间:2019-03-05

本文共 2944 字,大约阅读时间需要 9 分钟。

Django-Oscar框架是一个强大的工具,能够帮助开发者快速搭建功能完善的商城网站。本文将引导你使用该框架从零到hero,创建一个专业的网上商店。

1. 准备工作

在开始之前,请确保你的电脑已安装Python和pip。如果尚未安装,可以参考以下链接进行配置:安装Python。如果你专注于数据分析,建议安装Anaconda环境。

使用VSCode编辑器将本文代码复制粘贴到编辑器中,并在编辑器的终端运行命令安装所需依赖模块。这样做能让你的开发体验更加流畅。

2. 创建虚拟环境

为了避免不同环境间的依赖冲突,我们建议创建一个虚拟环境。在命令中执行以下命令:

conda create -n mywebsite python=3.6

或者使用virtualenv:

virtualenv --no-site-packages mywebsite

如果使用conda创建的虚拟环境,请执行以下命令进入环境:

activate mywebsite

而使用virtualenv时,进入虚拟环境的命令为:

source mywebsite/scripts/activate

安装所需依赖模块:

pip install django-oscar

注意:安装时无需预先安装Django,因为Django-Oscar包中已包含相应的Django版本。

3. 安装项目

成功安装依赖后,运行以下命令创建Django项目,项目名称为easyshop

django-admin startproject easyshop

进入项目目录:

cd easyshop

编辑easyshop/settings.py文件,在文件顶部添加以下代码:

from oscar.defaults import *from oscar import INSTALLED_APPS as OSCAR_APPSlocation = lambda x: os.path.join(os.path.dirname(os.path.realpath(__file__)), x)

TEMPLATES变量中添加模板配置:

TEMPLATES = [    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',        'DIRS': [            os.path.join(BASE_DIR, 'templates'),            OSCAR_MAIN_TEMPLATE_DIR        ],        'APP_DIRS': True,        'OPTIONS': {            'context_processors': [                'django.template.context_processors.debug',                'django.template.context_processors.request',                'django.contrib.auth.context_processors.auth',                'django.template.context_processors.i18n',                'django.contrib.messages.context_processors.messages',                'oscar.apps.search.context_processors.search_form',                'oscar.apps.checkout.context_processors.checkout',                'oscar.apps.customer.notifications.context_processors.notifications',                'oscar.core.context_processors.metadata',            ],        },    },]

INSTALLED_APPS中添加以下应用:

'django.contrib.sites','django.contrib.flatpages','widget_tweaks',

并添加SITE_ID变量:

SITE_ID = 1

将以下中间件添加到MIDDLEWARE:

'middleware.oscar.apps.basket.middleware.BasketMiddleware','django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',

配置身份验证和搜索引擎:

AUTHENTICATION_BACKENDS = (    'oscar.apps.customer.auth_backends.EmailBackend',    'django.contrib.auth.backends.ModelBackend',)HAYSTACK_CONNECTIONS = {    'default': {        'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',    },}

4. 项目运行

为了访问Oscar框架提供的后台界面,编辑easyshop/urls.py文件:

from django.apps import appsfrom django.contrib import adminfrom django.urls import include, pathurlpatterns = [    path('admin/', admin.site.urls),    path('', include(apps.get_app_config('oscar').urls[0])),]

运行以下命令:

python manage.py migratepython manage.py createsuperuserpython manage.py runserver

打开浏览器,访问地址:http://127.0.0.1:8000/dashboard/

输入刚创建的超级用户账号即可登录。进入后台界面,你将看到一个功能完善的商城管理平台。

项目扩展

该框架提供的功能相当全面,但对于中文站点,你可能需要进行语言翻译。此外,集成微信支付和支付宝支付需要商家权限。建议从微信官方提供的SDK中获取相应代码,并结合框架进行集成。

总体而言,Django-Oscar框架为开发商城网站提供了强大的工具。通过本文的指导,你可以轻松创建一个功能丰富的在线商店。如果对今天的教程有帮助,请继续关注Python实用宝典。如有任何疑问,欢迎在评论区留言,我们将耐心解答!

转载地址:http://yqdg.baihongyu.com/

你可能感兴趣的文章
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>