使用django-oscar搭建商店网站

news/2024/5/11 0:30:54/文章来源:https://blog.csdn.net/davidsu33/article/details/51613461

安装环境:

win7 64bit

python2.7.11 64bit

django: 1.9.6

django-oscar:

---
Metadata-Version: 1.1
Name: django-oscar
Version: 1.3.dev0
Summary: A domain-driven e-commerce framework for Django
Home-page: https://github.com/django-oscar/django-oscar
Author: David Winterbottom
Author-email: david.winterbottom@gmail.com
License: BSD
Location: c:\python27\lib\site-packages
Requires: django, pillow, django-extra-views, django-haystack, django-treebeard, sorl-thumbnail, Babel, Unidecode, purl, phonenumbers, mock, factory-boy, django-tables2, django-widget-tweaks
Classifiers:
  Development Status :: 5 - Production/Stable
  Environment :: Web Environment
  Framework :: Django
  Framework :: Django :: 1.8
  Framework :: Django :: 1.9
  Intended Audience :: Developers
  License :: OSI Approved :: BSD License
  Operating System :: Unix
  Programming Language :: Python
  Programming Language :: Python :: 2
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Programming Language :: Python :: 3.3
  Programming Language :: Python :: 3.4
  Programming Language :: Python :: 3.5
  Topic :: Software Development :: Libraries :: Application Frameworks


django-oscar依赖的挺多的,如下:

django, pillow, django-extra-views, django-haystack, django-treebeard, sorl-thumbnail, Babel, 

Unidecode, purl, phonenumbers, mock, factory-boy, django-tables2, django-widget-tweaks


安装过程:

python和django的安装我就跳过了,直接安装的python2.7.11,自带pip工具,使用pip 工具安装django和oscar即可

pip install django=1.9.6

pip install django-oscar


因为我这边使用pip的python资源网速很慢,所以我直接从git上下载了最新的版本,地址如下:

https://github.com/django-oscar/django-oscar

我直接下载的zip包,然后使用pip进行安装的,安装命令如下:

pip install d:\downloads\django-oscar.zip

安装的过程中会自动根据django-oscar的依赖关系来下载相应的python包,所以等等吧,因为依赖的特别的多


配置django-oscar的环境:

1.首先使用django-admin新建一个django的空项目,然后将django-oscar的应用集成过来即可,具体可以打开django-oscar的官方文档,然后照着做就OK了,官方文档地址:

 http://django-oscar.readthedocs.io/en/latest/internals/getting_started.html

2.如果懒得读官方文档,可以直接用我配置好了的配置文件,修改的地方,我使用了注释进行标注。

 settings.py

"""
Django settings for frobshop project.Generated by 'django-admin startproject' using Django 1.9.6.For more information on this file, see
https://docs.djangoproject.com/en/1.9/topics/settings/For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.9/ref/settings/
"""import os#Oscar defaults
from oscar.defaults import *
from oscar import get_core_apps# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '^kg+$_3x@(p%u9cd(11=q1k&73(pc^ly3%#v==@-p_y@$diov7'# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = TrueALLOWED_HOSTS = []# Application definitionINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions',#Add 4 oscar'django.contrib.sites','django.contrib.messages','django.contrib.staticfiles',#Add 4 oscar'django.contrib.flatpages',#Add 4 oscar'widget_tweaks',#Add get_core_apps 4 oscar
] + get_core_apps()#Add SITE_ID 4 oscar
SITE_ID = 1MIDDLEWARE_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',#Add 4 support oscar'oscar.apps.basket.middleware.BasketMiddleware','django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
]ROOT_URLCONF = 'frobshop.urls'#Oscar template dirs
from oscar import OSCAR_MAIN_TEMPLATE_DIRTEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates',#'DIRS': [],#Replace DIRS 4 support oscar'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.contrib.messages.context_processors.messages',],},},
]#Add 4 support oscar
AUTHENTICATION_BACKENDS = ('oscar.apps.customer.auth_backends.EmailBackend','django.contrib.auth.backends.ModelBackend',
)WSGI_APPLICATION = 'frobshop.wsgi.application'# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databasesDATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),'USER': '','PASSWORD': '','HOST': '','PORT': '',#Add ATOMIC_REQUESTS 4 support oscar'ATOMIC_REQUESTS': True,}
}# Password validation
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validatorsAUTH_PASSWORD_VALIDATORS = [{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',},{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',},{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',},
]# Internationalization
# https://docs.djangoproject.com/en/1.9/topics/i18n/LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'UTC'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/STATIC_URL = '/static/'#Add 4 support oscar
HAYSTACK_CONNECTIONS = {'default': {'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',},
}'''
HAYSTACK_CONNECTIONS = {'default': {'ENGINE': 'haystack.backends.solr_backend.SolrEngine','URL': 'http://127.0.0.1:8983/solr','INCLUDE_SPELLING': True,},
}
'''


urls.py文件:


"""frobshop URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/1.9/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.conf.urls import url, include2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import *
from django.contrib import admin
from oscar.app import application'''
urlpatterns = [url(r'^admin/', admin.site.urls),
]
'''#Replace it 4 support oscar
urlpatterns = [url(r'^i18n/', include('django.conf.urls.i18n')),# The Django admin is not officially supported; expect breakage.# Nonetheless, it's often useful for debugging.url(r'^admin/', include(admin.site.urls)),url(r'', include(application.urls)),
]


3.完成之后,首先生成数据库表,进行同步,然后启动服务器即可

 python manager migrate

 python manager runserver 6666

4.问题总结

 在整个环节中我碰到了三个问题,第一个是没有找到promotion/home.html的模版文件,然后我看了一下,模版部分我们没有配置正确,第二个是search backend部分的

 配置我配置了,但是没起作用,(不太明白刚刚使用),所以我把这个部分注释掉了HAYSTACK_CONNECTIONS = {...},然后就是执行服务器的时候报1003端口占用的

问题,我切换端口就没问题了。

5.运行效果图:








6.可以考虑自己做一个小的应用商城了,嘿嘿。




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_855263.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昨日关注:CSDN网站喜获中国BBS社区百强评选三项大奖

2004-12-29 CSDN网站喜获中国BBS社区百强评选三项大奖 #由世界经理人周刊和世界IT实验室组织的2004年“中国BBS社区100强”评选正式揭晓。这是中国第一次BBS社区的普查和评选,共有140万网友直接参与了投票,这一数字创下了中国网络调查历史纪录。在此次评…

介绍三个新的流量对比网站

做网站的最关心自己的网站和其他网站之间的流量对比,正因为这样,Alexa才会被大家捧到天上,04年,当时在计算机世界的王翌写了一篇《出卖Alexa》,基本上把Alexa作弊的黑色产业链公诸于世了。Alexa作弊太严重,…

淘宝、知乎、豆瓣......18个网站的Python爬虫登录汇总,都在这个开源项目里

如果你从事数据科学领域,那么获取数据对于你来说就不可或缺,网络爬虫这一关你必须得过,而说到爬虫,大多数人想到的就是Python,因为python不仅编写调试方便,而且能够快速入门,最主要的是相关的类…

中国程序员开发的神奇网站:变量命名神器!

有一种痛,不是程序员可能不懂,但如果是程序员一定懂,那就是给变量或函数命名。 回想一下起名字这条路,刚开始学某个编程语言的时候,26 个字母还能解决问题,26 个不够还能用字母与数字的组合?。但是&#…

如何使用 Python 和 BeautifulSoup 爬取网站!爬虫就该这么玩!

互联网上的信息如此之多,任何人穷其一生也无法全部消化吸收。你需要的不是访问这些信息,而是一种可伸缩的方式,可以用来收集、组织和分析这些信息。你需要的是 Web 爬取。Web 爬取可以自动提取数据,并以一种让你可以轻松理解的格式…

遇到需要的登录的网站怎么办?用这3招轻松搞定!

你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python 的正确姿势 登录的常见方法无非是这两种 1、让你输入帐号和密码登录 2、…

python爬虫教程,爬取任意网站上面的视频!

前言 对于Python爬虫很多人都不陌生,可以用它来批量下载文字、图片、视频等,其中涉及的知识点也是比较多的,但是Python中有一个方法,一行代码就能爬取任意网站上面的视频,只要你安装了Python环境就可以,哪…

Python爬虫,批量下载小说网站上的小说!

爬虫脚本把这个小说网上的几乎所有小说都下载到了本地,一共27000本小说,一共40G。 完整代码: #codingutf-8 2 import urllib 3 import urllib2 4 import re 5 import os 6 7 webroot http://www.xuanshu.com 8 9 for page in range(20,220…

如何使用 Python 和 BeautifulSoup 爬取网站!

互联网上的信息如此之多,任何人穷其一生也无法全部消化吸收。你需要的不是访问这些信息,而是一种可伸缩的方式,可以用来收集、组织和分析这些信息。你需要的是 Web 爬取。Web 爬取可以自动提取数据,并以一种让你可以轻松理解的格式…

江南鹤微信hook c#版已实现webhook,在你的网站中也可以调用hook了

可以将hook软件放在服务器上。在客户端电脑上用web调用即可。 特色: 1 每次登录只显示二维码,不再显示上次登录的用户 2 设置好不自动更新后,会保存。下次用户登录,程序也不会自动更新。 交流vx:weixinhook 第一步…

Python Flask 搭建个人网站

介绍Hello Kuko 是使用PythonFlask这样的组合搭建的网站,虽然其中的功能根本没有。项目已开源到github:kukoapp.pyimport io import json import os import randomfrom flask import Flask from flask import url_for from flask import request from fl…

CentOS 简便方法新手搭建一个网站

该文章写给从来没有搭建过网站的小伙伴们的,大佬们就不要浪费时间看下去了。 只搭建nginx,不搭建后端、数据库等相关服务,目的是让小伙伴能在刚刚学习完Html、css、js之后能够更直观的访问到自己的网页。 如何快速的搭建一个网站呢&#xf…

docnet 开发需要知道的网站!()

当前全球有数百万的开发人员在使用微软的.NET 技术。如果你是其中之一,或者想要成为其中之一的话,我下面将要列出的每一个站点都应该是你的最爱,都应该收藏到书签中去。 对于不熟悉.NET技术的朋友,需要说明一下,.NET…

vs2010发布网站

发布网站步骤: 1、新建网站: 打开IIS,右击网站——>添加网站 填写网站名称(随便写)和应用程序池名称 物理路径选择你要存放发布网站的位置(最好自己新建一个空的文件夹) 点击身份验证下的链…

chrome 打开csdn网站显示有问题

换一个浏览器就不会 这是为啥

详解微软网站三剑客之Graphic Designer

Adobe合并Macromedia后,就不断传来微软开发图形图像和动画软件的消息。不过信息少的可怜,特别是号称Flash杀手的“Sparkle”,除了一条简短的新闻就没别的了。所谓厚积薄发,没想到微软这次一出手就是三款设计软件,看来是…

Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境)教程

Ubuntu 12.04下搭建Web网站服务器 (MySQLPHPApache环境)教程 作者:木瓜 发布:2012-04-28 22:06 分类:网络 阅读:1832次 10条评论 分享到:QQ空间新浪微博腾讯微博人人网更多10前言 看了…

在网站上添加百度搜索

我们自己开发的个人网站有时需要将百度搜索加上&#xff0c;怎么加呢&#xff1f; 其实很简单&#xff0c;将如下代码加到自己需要的网页上即可&#xff1a; 当然有技术的朋友可以到hao123上参考&#xff0c;将hao123上的百度搜索条拿来自己用。 <form data-hook"sear…

demo4 表格隔行变色效果 onmouseout onmouseover

let trs document.querySelector(tbody).querySelectorAll(tr)for(let i0;i<trs.length;i){// 鼠标经过事件trs[i].onmouseover function(){this.className bg}// 鼠标离开事件trs[i].onmouseout function(){this.className }}

大学四年,靠着这些学习网站,我从挂科学渣变成了别人眼中的大神

原文链接&#xff1a; https://blog.csdn.net/JAck_chen0309/article/details/104780288 前记 毕业合影时&#xff0c;导员笑着对我说“你可是我们系里的风云人物”。我也笑了&#xff0c;思绪却回到了四年前。 还记得四年前&#xff0c;我从小县城里走出&#xff0c;来到学校…