django oscar and djangocms - python

I am interested in combining django-cms for content management and django oscar for e-commerce.
Can someone give me some direction, preferably someone that has already successfully combined the two:
[A] Should the structure be a base oscar site, with the oscar templates modified to insert the necessary placeholders to permit cms etc...,
OR
[B] Should the structure be a base django-cms site, with oscar being handled by plugins etc...
My gut feeling is that it should be [A], but please correct me if I am wrong.
Any other suggestions would be appreciated, as there is little online, and I have written to the author of oscar with no response. I am aware of THIS link, which doesn't address implementation, only comparing compatibilities.

This combination is something that I've been looking at for a while and actually had a working prototype. Without knowing your full use case it's difficult to advise properly.
What I required sounds very similar to you, a site that can have CMS editable pages on the same sub domain (e.g. www.myshop.uk/shop www.myshop.uk/cms-pages) as the oscar provided pages. I wanted to have the initial homepage driven by the CMS and a separate area of the site for the E-commerce pages.
If your requirements are the same as mine, the best way to achieve the integration is via an app hook in Django CMS, this would mean that the CMS is the controlling package: http://docs.django-cms.org/en/release-3.3.x/how_to/apphooks.html
I used the following documentation, the code didn't work on more recent versions of Oscar and CMS but was a good guide of what should be possible and a push in the right direction: https://pypi.python.org/pypi/djangocms-oscar/0.1
I will be attempting this again very soon as I have a new site where the CMS and E-commerce site are separate and need merging under the same sub domain.
Is this still an issue for you?
I am considering either contacting the author about updating the previous project "djangocms-oscar" or creating a new one with supporting docs for others.

I have worked on the very similar configuration you have asked here. A pure blend of django-cms with django-oscar.
Here's what I did and it works perfectly fine.
First setup a new project with cookiecutter-django-cms
Then install django-oscar inside it.
Setup your shop.
As long as I know, it works fine.

Related

Django apps structure

I'm learning Django but it's difficult to me to see how should I divide a project into apps?
I've worked on some Java EE systems, almost for procedures for government and all that stuff but I just can't see how to create a Django project for this purposes?
For example, if you should have to do a web app for making easier three process: Procedure to get the passport, procedure to get the driver license and procedure to get the social number.
The 3 procedures have steps in common: Personal information, Contact Information, Health Information. Would you do a project for each procedure, an app for each procedure, an app for each step?
I'm sorry if I'm posting this in the wrong Stack Exchange site.
Thank you.
When you say "procedures" i guess you're talking about pages (or views in Django). So I would implement a single "app" to do that.
Remember a project is composed of apps. When you create a project a main app (with the same name of the project) is created. This is a good place to code the procedures you said.
Think of apps as indepent sections of your project (site); maybe some forum, a blog, a custom administration panel, a game and stuff like that. Every one of them could be an independent app.
A project is mostly intended as a single website, so there's no need to create another project on the example you mentioned.

Configuring multi-tenancy

In a local dev env, I'm currently attempting to hack my way to multi-tenancy using Mezzanine:
Mezzanine makes use of Django’s sites app to support multiple sites in a single project. This functionality is always “turned on” in Mezzanine:
That's pretty much as far as an entry-level tut for multi-tenancy on mezzanine gets. Great, so I go to the admin site, and add a site:
Domain name-----|----Display name
127.0.0.1:8000----|----English Site
127.0.0.1:8000/es|----Spanish Site
Now, I am stuck. I have fiddled around with url.py, but figured that's not where to start, considering I need to know something to map the url to. Views? Lost.
Any ideas?
(Included translation is not an option given the web service will never translate as good as a human.)
Multitenancy in mezzanine is done via domain names. You will need to run http://dev.site and http://esdev.site or similar in development (add the entries to your hosts file and make sure they match the listings in the sites part of admin).
In production you'll also want to use two different domains too.
For example, my personal site http://dpn.name/ and my business site http://behest.com.au/ are both running off the same mezzanine install.
Later on when you have the right setup, you'll be able to add new posts and pages to each specific site by either logging into the admin via each domain name, or changing the currently active site in the admin (the drop down is in the top right if you have multiple sites set up)
Hope that helps, please let me know if you need more info.

How to get Django to work on Apache in Windows?

I'm creating an internet radio station site on my Apache, and I've decided Django is the CMS which is best suited to the task.
http://www.gareth53.co.uk/work.html mentions it being used for radio station sites, and I decided I'd go with this since it seems to be a fairly popular choice.
These are some examples of it in action on live sites:
http://www.capitalfm.com/on-air/station-schedule/
http://www.heart.co.uk/suffolk/shows/
I'm aware I need python and mod_wsgi to get it to run, but how do I ensure it works properly on an Apache server? (I'm on Vista Home Edition, and this is just a test/development site until it works properly).
I want my schedules page to look similar to this CMS:
http://www.trentfm.co.uk/schedule.asp
(the effect I'm trying to emulate, in design terms).
I'm aware I'd have to create templates from reading the Django manual, and it uses SQLite, but I'm fairly new to Django and it would be a useful skill to learn.
Obviously that site uses IIS, which I'm not using, but the design is what I am intending to create a homage to (under copyright law a parody etc. is permissible under fair use - the station names are different, though).
My site is different, but the same basic model applies as seen in the stations above.
What has been your experience of using Django and would you recommend it as a CMS?
First of all, Django is not a CMS.. it is a web framework. You can find how to deploy django with apache and modwsgi in the following link.
http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/

Multiple-instance Django forum software

Does anyone know of a django forum plugin that allows each member to have his own forum? If there isn't anything, than what would be the best way to accomplish this with a "regular" forum plugin for Django?
I once created a feature matrix of all Django forum apps I could find. It might be a bit outdated now, though (contributions welcome).
At least django-threadedcomments uses generic foreign keys, so you can attach a message thread to any database object, including users.
Look at DjangoBB.
Yep, the forum app of SCT can be used for this - simply set it up and create multiple "community Groups" (these are similar to vhosts) and map them to subdomains - each community group would have separate forum categories, can have separate templates, separate user permissions, etc. (but they will obviously share the same django users and their profiles) - as an example.. the following websites are all hosted on the same instance:
SCT website
My personal website/blog (the blog is also based on SCTs forum)
ShelfShare Community
Check out diamanda. I'm not sure it does what you need as far as the each user having its forums, but that's probably not too hard to hack on top. Probably as simple as adding a few ForeignKeys into auth.User to the diamanda models. In general django pluggables and djangoapps are good places to look for django stuff that is already written. Also, check out pinax.
I believe the Sphene Community Tools can do this.

Is there any list of blog engines, written in Django?

Is there any list of blog engines, written in Django?
EDIT: Original link went dead so here's an updated link with extracts of the list sorted with the most recently updated source at the top.
Eleven Django blog engines you should know
by Monty Lounge Industries
Biblion
Django-article
Flother
Basic-Blog
Hello-Newman
Banjo
djangotechblog
Django-YABA
Shifting Bits (this is now just a biblion blog)
Mighty Lemon
Coltrane
James Bennett has an interesting take on this question:
“where can I find a good Django-powered blogging application” is probably at the top of the frequently-asked questions list both on django-users and in the IRC; part of this is simply that, right now, there is no “definitive” Django blogging application; there are a bunch of them available if you go looking, but you’re not likely to get anyone to recommend one of them as “the” Django blogging app (unless the person doing the recommending happens to be the author of one of them).
The blog entry also has a list.
Byteflow is a blog engine, written on Python, using Django
Django's powerful admin interface and easy ORM makes it a 30 minute job to build a blog that propably fits your needs; Why look for a 3rd party product when you can make it yourself very quickly?
The book Practical Django Projects provides a tutorial on how to create a Django blogging app.
Nathan Borror has a great package of 'basic apps' that has a blog. These are well written, well documented apps that you should try out, get ideas from, etc.
http://code.google.com/p/django-basic-apps/
You should check django-blogango. http://agiliq.com/blog is run using this blogging engine.
https://github.com/agiliq/django-blogango

Categories