I've no experience with Django. I develop websites using Wordpress and a year ago I tested Magento (not tested it since).
I was surprised of how user friendly Magento was. Both front end and backend. It was really easy to set up. You can easily customize the layout as well using Magento template API.
Here are some pros and cons:
Pros
Don't develop your own e-commerce site. It's a lot of work to re-invent the wheel.
By using a well know e-commerce product, you will also find support.
E-commerce platforms like Magento are easy to set up and offer the option of changing the look and feel to match the rest of the web site.
You can easily combine CMS and e-commerce
E-commerce platforms like Magento offer the option for custom static / dynamic pages (like a mini cms)
You will save money (development time) by using something that is already developed
Most e-commerce sites handle payment towards different banking providers.
Cons
Magento does not work on all servers (server configuration). This however might have changed in the past year.
If free e-commerce products like Magento do not satisfy your needs, you need to buy licenses. And that costs a lot of money.
It takes a lot of time developing your own e-commerce site if you want quality and usability. There is no way you can develop a good e-commerce site from scratch in just 3 months.
从长远来看,我认为使用 Django/Satchmo 会更好。在遥远的未来的某个时刻(因为没有一个项目真正完成,也不像您最初的要求所暗示的那么简单)您的客户会回来说“哦,好吧......我们真的希望当用户 Y 完成 X 时发生” Z”。那时您可能会说“当然没问题,您的网站是基于 Django 构建的,所以这只是小菜一碟!”或者会因为想到 Magento 所需的所有工作而感到抽搐。
If you are leaning between Magento/Satchmo and you prefer Django, definitely go with Satch. I've worked with both and frankly Magento is a nightmare to work with (if that looks like a fun time go for it). In my experience Django/Satchmo are much more flexible and easier to customize, as well as easier to maintain, plus you can take advantage of Django's rich ecosystem of packages. And seriously Python > PHP.
In the long run I think you'll be much better off with Django/Satchmo. At some point in the distant future (because no project is ever truly finished, nor as simple as your initial requirements might imply) your client will come back and say "Oh, well...we really wanted X to happen when user Y does Z". And at that point you'll either say "Sure no problem, your site is built on Django so that's a piece of cake!" or go into convulsions because you'll think of all the work that will entail with Magento.
This is past the time constrains of the original poster, but if you're using Django, Cartridge/Mezzanine is a nice setup for e-commerce. It has an Ubuntu deploy script, Stripe integration, and is customizable. Mezzanine is
I don't know anything about Django, but I faced this exact same problem a few years ago after our company decided to stop using share-it for sales and develop our own solution in PHP. Our problem with hosted platforms like share-it (and I assume shopify, although I've never used it) is that their fees are much higher than you would incur by just rolling your own solution and processing your orders with Paypal or something.
So you may consider doing what we did: buying pre-built shopping cart software and then extensively customizing it. We used Digishop, which is designed more for a online catalog-type store than our software site, but after about 2-4 weeks of adding necessary functionality it was good to go. Although out of the box Digishop was way too bloated for our needs, if you're familiar with PHP it should be a breeze to navigate through it and selectively add or remove features as you see fit.
Since the deadline is 3 months you should definitely use an existing, packaged ecommerce. I'm sure I won't be the only to point that out. Equally, you might find it takes all of 3 months to get up to speed with Magento - which is quasi-enterprise-complexity. As a compromise you might find Magento suits your needs with a little outside help from some experienced professionals. (I am such a professional and I like Magento for it's sophistication and features)
There are many more ecommerce solutions out there to choose from, I couldn't possibly list them all here. Don't feel tied to a particular language either, you might not be the only one to fix the site in future so look at the skills available to your employer. Python's growth doesn't compare well to other languages, such as PHP and Ruby, so may not be the future.
At the end of the day, the answer comes down to how comfertable you are with both options. In the past when I have come across the 2 options, I usually go with the preexisting solution.
Reason to create your own:
Flexability - You can do program what you want and how you want it to work.
You know the code. When something break you know what you have written and hopefully can find the source of the problem without reading a bunch of documentation
Reason to use a out of the box/open source solution
Community - This is the biggest for me. When you are looking for help with a problem, having a community behind you can be the biggest help. Chances are there is someone out there that has had to problem you are having/is trying to do what you are trying to accomplish.
Preexisting API solutions - If you are creating an online store, chances are you are going to need to tie into some API for checkout/shipping. The major shopping carts out there have these already built out. For instance, Zencart has modules for Authorize, Paypal, UPS, FEDEX, USPS. As well as a bunch of other API that you might need to interact with. It will save you a ton a time not having to code out API scripts for all of these differnet services.
Security - This could go in both. With using a more well know solution vs a custom one, you run the risk of falling into a kiddy scripting hack where people use scripts to hack into a specific type of online cart. But at the same time, if there is a community of developers solving security issues then response to a security breach would be much faster than you trying to solve it alone.
Timeline - Launching a open source store is way faster then writing your own. If you used Zencart for example. you could install the store and then spend you time modifying the skin to look and function how you would like.
I'd have to put my vote in for using Zencart as a solution. I've used then on several occation and the software has never let me down. They have a great community, much more so than oscommerce which feels pretty dead at this point.
Also with zencart you can make static pages where you can put whatever content you want on them. You could of course also put a second CMS to handle the static pages.
这位perl大师提醒大家,CGI模块已经被许多开发人员审查过。他接着解释了破解者如何使用 C 处理字符串的方式(Perl 是用 C 编写的)来利用 Web 应用程序,但 CGI 模块具有防止此类安全漏洞的代码。他接着补充说,他遇到的新 CGI 模块都没有代码来防止同样的漏洞,因为他们都不知道这个问题!
当然,就像詹姆斯·布莱克对你的问题的评论一样,你也需要考虑时间因素。
选择框架或模块时:
查看它的历史。
看看它的开发人员有多活跃(通过邮件列表档案、IRC 等)。
开发商是否提供良好的支持?
安全吗?
流行吗?
Many of us have been in the same situation before - code-from-scratch (CFS) or use a framework.
My experience - I started scripting with Perl. And one of the most used module (for web programming) of PERL is CGI. Some considered it a 'heavy' module and thus a few had developed a 'lighter' version of it. For a newbie, this could be confusing - which module to use? Browsing the archive mailing lists of Perl, I came across what I still consider a gem of a wisdom - what you don't know matters as much as what you know.
This perl guru reminded everyone that the CGI module had been reviewed by many developers. He went on to explain how the way strings was handled by C (Perl is made with C) was used by crackers to exploit web apps, but the CGI module had code to prevent such security exploits. He went on to add that NONE of the new CGI modules thats he had come aross had code to prevent this same exploit because none of them were aware about this issue!
And ofcourse, like James Black commented on your question, you need to consider the time factor too.
When selecting a framework or module:
Look at how old it is.
Look at how active it's developers are (through mailing lists archives, IRC etc).
发布评论
评论(8)
您可以尝试的两种 DJango 电子商务解决方案:
就 PHP 而言,我们使用了 osCommerce(演示)。
Two DJango e-commerce solutions you might try:
As far as PHP goes, we've used osCommerce (demo).
我没有使用 Django 的经验。我使用 Wordpress 开发网站,一年前我测试了 Magento(此后就没有测试过)。
我对 Magento 的用户友好程度感到惊讶。前端和后端都有。设置起来真的很容易。您还可以使用 Magento 模板 API 轻松自定义布局。
以下是一些优点和缺点:
优点
缺点
I've no experience with Django. I develop websites using Wordpress and a year ago I tested Magento (not tested it since).
I was surprised of how user friendly Magento was. Both front end and backend. It was really easy to set up. You can easily customize the layout as well using Magento template API.
Here are some pros and cons:
Pros
Cons
如果您倾向于 Magento/Satchmo 并且更喜欢 Django,那么一定要选择 Satch。我与两者合作过,坦率地说 使用 Magento 是一场噩梦(如果这看起来很有趣,那就去吧)。根据我的经验,Django/Satchmo 更加灵活,更容易定制,也更容易维护,而且您可以利用 Django 的丰富功能包的生态系统。认真地Python> PHP。
从长远来看,我认为使用 Django/Satchmo 会更好。在遥远的未来的某个时刻(因为没有一个项目真正完成,也不像您最初的要求所暗示的那么简单)您的客户会回来说“哦,好吧......我们真的希望当用户 Y 完成 X 时发生” Z”。那时您可能会说“当然没问题,您的网站是基于 Django 构建的,所以这只是小菜一碟!”或者会因为想到 Magento 所需的所有工作而感到抽搐。
If you are leaning between Magento/Satchmo and you prefer Django, definitely go with Satch. I've worked with both and frankly Magento is a nightmare to work with (if that looks like a fun time go for it). In my experience Django/Satchmo are much more flexible and easier to customize, as well as easier to maintain, plus you can take advantage of Django's rich ecosystem of packages. And seriously Python > PHP.
In the long run I think you'll be much better off with Django/Satchmo. At some point in the distant future (because no project is ever truly finished, nor as simple as your initial requirements might imply) your client will come back and say "Oh, well...we really wanted X to happen when user Y does Z". And at that point you'll either say "Sure no problem, your site is built on Django so that's a piece of cake!" or go into convulsions because you'll think of all the work that will entail with Magento.
这已经超出了原始海报的时间限制,但如果您使用 Django,Cartridge/Mezzanine 是电子商务的一个不错的设置。它有一个 Ubuntu 部署脚本、Stripe 集成,并且是可定制的。 Mezzanine 是
http://mezzanine.jupo.org/
您可以将 Mezzanine 添加到现有的 Django 项目中。
http://mezzanine.jupo.org/docs/frequently-asked-questions.html#how-can-i-add-mezzanine-to-an-existing-django-project
不错夹层教程:
http://www.rosslaird.com/blog/first-steps-with-夹层/
This is past the time constrains of the original poster, but if you're using Django, Cartridge/Mezzanine is a nice setup for e-commerce. It has an Ubuntu deploy script, Stripe integration, and is customizable. Mezzanine is
http://mezzanine.jupo.org/
You can add Mezzanine to an existing Django project.
http://mezzanine.jupo.org/docs/frequently-asked-questions.html#how-can-i-add-mezzanine-to-an-existing-django-project
Nice Mezzanine tutorial:
http://www.rosslaird.com/blog/first-steps-with-mezzanine/
我对 Django 一无所知,但几年前,在我们公司决定停止使用 share-it 进行销售并用 PHP 开发我们自己的解决方案后,我遇到了完全相同的问题。我们对像 share-it 这样的托管平台(我认为是 shopify,尽管我从未使用过它)这样的托管平台的问题是,它们的费用比你通过推出自己的解决方案并使用 Paypal 或其他方式处理订单所产生的费用要高得多。
因此,您可以考虑像我们一样:购买预构建的购物车软件,然后对其进行广泛的自定义。我们使用了 Digishop,它比我们的软件网站更适合在线目录类型商店,但大约 2 年后-4 周添加必要的功能,一切顺利。尽管开箱即用的 Digishop 对于我们的需求来说过于臃肿,但如果您熟悉 PHP,那么浏览它并根据您的需要有选择地添加或删除功能应该是轻而易举的。
祝你好运!
I don't know anything about Django, but I faced this exact same problem a few years ago after our company decided to stop using share-it for sales and develop our own solution in PHP. Our problem with hosted platforms like share-it (and I assume shopify, although I've never used it) is that their fees are much higher than you would incur by just rolling your own solution and processing your orders with Paypal or something.
So you may consider doing what we did: buying pre-built shopping cart software and then extensively customizing it. We used Digishop, which is designed more for a online catalog-type store than our software site, but after about 2-4 weeks of adding necessary functionality it was good to go. Although out of the box Digishop was way too bloated for our needs, if you're familiar with PHP it should be a breeze to navigate through it and selectively add or remove features as you see fit.
Good luck!
由于截止日期是 3 个月,您绝对应该使用现有的打包电子商务。我确信我不会是唯一指出这一点的人。
同样,您可能会发现需要 3 个月的时间才能熟悉 Magento - 这是准企业复杂性。作为一种妥协,您可能会发现 Magento 在一些经验丰富的专业人士的外部帮助下就能满足您的需求。 (我是一名专业人士,我喜欢 Magento,因为它的复杂性和功能)
还有更多电子商务解决方案可供选择,我不可能在这里全部列出。也不要觉得与某种特定的语言有联系,你可能不是将来唯一修复该网站的人,所以看看你的雇主可以使用的技能。 Python 的增长与其他语言相比并不好,例如正如 PHP 和 Ruby 一样,所以可能不是未来。
Since the deadline is 3 months you should definitely use an existing, packaged ecommerce. I'm sure I won't be the only to point that out.
Equally, you might find it takes all of 3 months to get up to speed with Magento - which is quasi-enterprise-complexity. As a compromise you might find Magento suits your needs with a little outside help from some experienced professionals. (I am such a professional and I like Magento for it's sophistication and features)
There are many more ecommerce solutions out there to choose from, I couldn't possibly list them all here. Don't feel tied to a particular language either, you might not be the only one to fix the site in future so look at the skills available to your employer. Python's growth doesn't compare well to other languages, such as PHP and Ruby, so may not be the future.
归根结底,答案取决于您对这两种选择的适应程度。过去,当我遇到这两种选择时,我通常会选择现有的解决方案。
创建自己的理由:
使用开箱即用/开源解决方案的原因
我。当您寻求帮助时
有问题,有社区
可以成为你身后最大的帮助。
很有可能有人出去
那里有你必须要面对的问题
正在/正在尝试做你想做的事
试图完成。
正在创建一个在线商店,有机会
你需要加入吗
一些用于结帐/运输的 API。这
那里的主要购物车有
这些已经建成了。为了
例如,Zencart 有以下模块
授权、Paypal、UPS、FEDEX、USPS。
以及一堆其他 API
您可能需要与之互动。它
将为您节省大量时间
为所有的 API 脚本编写代码
这些不同的服务。
使用更知名的解决方案
与定制的相比,您面临的风险是
陷入小孩子的脚本黑客攻击
人们使用脚本进行黑客攻击的地方
特定类型的在线购物车。但
同时,如果有一个
解决问题的开发者社区
安全问题然后响应
安全漏洞会更快
而不是你试图独自解决它。
我必须投票支持使用 Zencart 作为解决方案。我已经用过好几次了,这个软件从来没有让我失望过。他们有一个很棒的社区,比 oscommerce 更强大,而 oscommerce 在这一点上感觉已经死了。
另外,使用 zencart,您可以制作静态页面,您可以在其中放置您想要的任何内容。当然,您也可以放置第二个 CMS 来处理静态页面。
At the end of the day, the answer comes down to how comfertable you are with both options. In the past when I have come across the 2 options, I usually go with the preexisting solution.
Reason to create your own:
Reason to use a out of the box/open source solution
me. When you are looking for help
with a problem, having a community
behind you can be the biggest help.
Chances are there is someone out
there that has had to problem you are
having/is trying to do what you are
trying to accomplish.
are creating an online store, chances
are you are going to need to tie into
some API for checkout/shipping. The
major shopping carts out there have
these already built out. For
instance, Zencart has modules for
Authorize, Paypal, UPS, FEDEX, USPS.
As well as a bunch of other API that
you might need to interact with. It
will save you a ton a time not having
to code out API scripts for all of
these differnet services.
With using a more well know solution
vs a custom one, you run the risk of
falling into a kiddy scripting hack
where people use scripts to hack into
a specific type of online cart. But
at the same time, if there is a
community of developers solving
security issues then response to a
security breach would be much faster
than you trying to solve it alone.
I'd have to put my vote in for using Zencart as a solution. I've used then on several occation and the software has never let me down. They have a great community, much more so than oscommerce which feels pretty dead at this point.
Also with zencart you can make static pages where you can put whatever content you want on them. You could of course also put a second CMS to handle the static pages.
我们中的许多人以前都遇到过同样的情况 - 从头开始编写代码 (CFS) 或使用框架。
我的经验 - 我开始使用 Perl 编写脚本。 PERL 最常用的模块(用于 Web 编程)之一是 CGI。有些人认为它是一个“重”模块,因此一些人开发了它的“轻”版本。对于新手来说,这可能会令人困惑 - 使用哪个模块?浏览 Perl 的存档邮件列表时,我发现了我仍然认为是智慧瑰宝的东西 - 你不知道的事情和你知道的一样重要。
这位perl大师提醒大家,CGI模块已经被许多开发人员审查过。他接着解释了破解者如何使用 C 处理字符串的方式(Perl 是用 C 编写的)来利用 Web 应用程序,但 CGI 模块具有防止此类安全漏洞的代码。他接着补充说,他遇到的新 CGI 模块都没有代码来防止同样的漏洞,因为他们都不知道这个问题!
当然,就像詹姆斯·布莱克对你的问题的评论一样,你也需要考虑时间因素。
选择框架或模块时:
Many of us have been in the same situation before - code-from-scratch (CFS) or use a framework.
My experience - I started scripting with Perl. And one of the most used module (for web programming) of PERL is CGI. Some considered it a 'heavy' module and thus a few had developed a 'lighter' version of it. For a newbie, this could be confusing - which module to use? Browsing the archive mailing lists of Perl, I came across what I still consider a gem of a wisdom - what you don't know matters as much as what you know.
This perl guru reminded everyone that the CGI module had been reviewed by many developers. He went on to explain how the way strings was handled by C (Perl is made with C) was used by crackers to exploit web apps, but the CGI module had code to prevent such security exploits. He went on to add that NONE of the new CGI modules thats he had come aross had code to prevent this same exploit because none of them were aware about this issue!
And ofcourse, like James Black commented on your question, you need to consider the time factor too.
When selecting a framework or module: