CMS + blog + e-commerce: django or web2py

We are currently launching several small PHP sites (a small company, a private, non-profit organization, friends ...) and would like to port them to Python in order to be able to configure them more easily and / or expand their functionality due to the fact that familiar with Python, although without real experience, some of the Python frameworks are used.

In order not to write everything from scratch, we need decent CMS, a blog and some e-commerce module.

We did some research, installed and tried several applications in the Django world, and so far have come up with two possibilities:

Both combinations are good, although not perfect ... Currently, there is a problem of integration of the released versions of django-cms and zinnia due to the use of incompatible versions of django-mptt or, for example, Mezzanine lacks some functions, such as blog link support and etc.

While playing with the above two sets of applications, we heard about Web2py and we must say that we like a lot of things there ..

We know that this is a young project with a smaller community, fewer applications, etc., but ask yourself if there is some set of web2py applications that can compare with the two Django sets mentioned above so that we can get started with Web2py, learn it and in this process will replace PHP sites with it?

So, we would like to have an effective CMS + blog with the following features:

  • tag cloud categories
  • spam protection
  • RSS feeds
  • several authors
  • comments on the topic (optional)
  • link support (pingback / trackback)
  • (easy) theme
  • markdown / reST markup for recording content / publishing
  • multi language support

As for e-commerce, in addition to simple integration with CMS + applications on the blog, we do not need anything impressive - our "company" sells "services", so there is no need for thousands of products (only 10 of them), no complicated delivery options, so what something like:

  • multi language support
  • basic infrastructure for payment methods (e.g.) PayPal, and we will need to write a custom module for the forms-based API
  • A simple shopping basket capable of handling simple product descriptions.
  • tax calculations and
  • (optional) PDF support

will be all that we need.

Given the opportunities that we would like to have, our (non) experience with any infrastructure, which one - Django or Web2py - do you consider more suitable in terms of ease of training, ease of use, application support, etc.?

I sent two entries to the web2py list and (maybe) because my request was not specific - enough (or for some other reason), I didn’t get a response there, and I saw that there are applications like KPAX CMS, which looks old / not supported. Otoh, there is a Powerpack that includes Instant Press, but I'm not sure about the availability of the e-commerce component. Finally, I found out about plugin_wiki, which seems to be a new / young application, but given that we discovered * about the possibilities in the Django world, we would like to know about the situation on the Web2py scene in order to be able to better evaluate both options.

ps it would be nice if the Appliances list were a little better, so that it is easy to find out what is supported, where the project page is located, etc.

+6
source share
3 answers

web2py is a great infrastructure, but it currently covers reusable CMS, blogs, and especially e-commerce applications. It looks like you have already stumbled upon the main options - plugin_wiki , Powerpack and Instant Click .

I don't think there is a mature and currently supported e-commerce application, but you can use web2py-estore . There are also options for accepting credit card payments ( see also ).

plugin_wiki includes a comment function as well as plugin_comments . For PDF files, pyfpdf comes with web2py as well as web2py_appreport . web2py also includes RSS .

EDIT: Also, another CMS website will be released shortly , which will be released: SimplrCMS

+2
source

I have had great success with Django-CMS. It’s very easy to write custom content plugins, expand menu nodes with custom navigation items such as a list of product categories, etc. It is very simple to associate user application code with any page in the navigation hierarchy.

As you mentioned in your question, Zinnia also connects to Django-CMS for a good blogging solution, which is also extensible. Adding a basket application, whether it be a DIVIO command or not, should be an easy task.

Django, DjangoCMS, and Python as a whole have very low learning curves, in my opinion. For 14 years of development, Django is the only web infrastructure that has not been in my way, and Python is an absolute pleasure to work daily.

I think you will find that the Django ecosystem is much more holistic than any other Python infrastructure, it is also very well documented and there are literally hundreds of third-party applications. In addition, a Django administrator can save you many weeks of dev, and you can redefine, drop and expand it to do anything.

My $ 0.02 :)

+3
source

- EDIT - +

Yes, right after I posted the message, I realized that I was heavy compared to wireframes, but without thinking about the suggested solutions to your problem (i.e. existing devices). I think Django probably has more mature add-ons / applications. Saying this, creating your own web2py blog (a simple blog) is probably a little more complicated than setting up one for the other framework.

There is a wordpressclone application: http://web2py.com/appliances/default/show/36 (you can extract existing Wordpress data and get it here, I'm sure there is WP export and import function on this device)

There is an electronic store (he did not use it): http://web2py.com/appliances/default/show/24

As you said, there is a KPax CMS, but I think this one may be outdated, unless it has been updated recently. Integration between them should be possible, you can exchange sessions between applications, and I think that if you have the same auth_user db, it should work.

I would try to install them and see how close they are to your needs - especially KPax, since I'm not sure if this is a condition.

- END EDIT -

Both Django and Web2py are very good frameworks, in my opinion. I think you will be satisfied too. At the same time, without using frameworks, I would say using web2py, unless you NEED some modules that exist only in the django world. Web2py probably has a slightly more gradual learning curve. In addition, he can do RSS out of the box, there is a screencast that shows how to create a blog application in about 5 minutes (including comments), and the community (usually) is very responsive. I don’t think there is something web2py can do that django cannot (other than DB migration), but I think you can do django for them using some third-party code) or vice versa.

Django advocates for an “explicit better than implicit” development methodology that requires you to import various modules and not have all the web2py magic. Using django, you will know more precisely what is happening under the hood. The django template language is easy to learn and provides many features for common markup tasks. There are a lot of documentation, a large user base and tons of third-party modules / plugins / whatever.

Web2py stands for the "everything should be by default" approach and allows you to focus on the big picture without getting bogged down in the little things of web development. I'm not saying that this contrasts with django, but rather that web2py is very strong on this issue. This allows you to quickly develop applications and eliminates the headache of such things as updating the table schema (i.e. database migration). I also prefer the web2py templating language for django, since it allows you to use pure python and does not require learning a separate template language.

I think both structures have decent internationalization / localization. I'm not sure if Django is still under development or not? Web2py is easy to use, but I think you may have to provide a lot of translations yourself.

Regarding the lack of answers in the web2py list, perhaps because this topic is becoming more frequent? I'm not sure. You can ask people on the web2py freenode channel.

Also, definitely check out this link:

Django vs web2py for a novice developer

The first answer is from the lead web2py developer, but I think he is conducting a fairly balanced comparison.

In addition, the previous thread includes a link here (good and bad for web2py):

http://www.mengu.net/post/django-vs-web2py

+3
source

Source: https://habr.com/ru/post/894352/


All Articles