I just wish to keep up with the progress.
I use two-tier web service architecture on my host. The front end tier is represented by nginx − lightweight multithreaded web server. It is connected with back end (application) tier (uWSGI) and acts as a reverse proxy for the latter.
While nginx is configured system-wide, uWSGI is just a Python package, installed in virtual environment with pip. It can be configured, upgraded or restarted by the developer or through the mechanism of a scripted deployment, thus eliminating the need to elevate privileges or call system operator. Also this architecture makes it possible to use different versions of Python on a single host.
supervisor is responsible to firestart all application-related things and keep them up 24/7. My project is relatively simple: it consists only of uWSGI and a scheduler on application side.
In fact I am planning to replace supervisor with systemd units. It will save me a bit of RAM.
I use Celery tasks for reposting my local entries to my old blog at LiveJournal, and for handling email subscriptions. Another task, scheduled with Celery beat, updates Haystack search indices.
A gulp of fresh air when using Django admin panel.
Standard Django database authentication, complete with django-user-accounts component.
As far the ultimate solution for social authentication. Look at its Django example project when building your own login page.
I use it for letting my visitors comment anonymously. Thanks to django-recaptcha.
Mozilla’s bleach is a powerful library for sanitizing HTML input. I use it to display comments in blog. What django-bleach added to it are template tags and configurability through Django settings.py.
This component makes your database content multilingual while keeping your models.py unaltered.
The translation of the custom models is practically a no-brainer, but it might get a little trickier with built-in Django models or third-party models. But I did manage to translate flat pages, site tree and comments.
This is a pluggable utility for translating gettext data right on your site. Very useful but still optional.
This is a brilliant component, although it have some learning curve. It offers a great help in ogranizing navigation menus, page titles, and breadcrumbs.
This simple app of mine provides the means of editing portions of text through Django admin panel without the need of modifying the related templates. Translatable, but not yet searchable.
Once comments was Django built-in feature, but since 1.7 it has become an external component: django-contrib-comments.
I have customized its model with django-mptt to make comments threaded.
Nothing special really.
I have built this app around nice-looking and practical Zabuto Calendar JavaScript widget.
There are two JavaScript WYSIWYG editors, both popular and powerful: TinyMCE and CKEditor. I have chosen the former for this project, considering its first-class support in Grappelli through django-tinymce component.
django-filebrowser is a Grappelli extension that allow users to manage uploaded files. django-filebrowser can also be used as a media browser in TinyMCE, considering django-tinymce and django-tinymce-filebrowser components are installed.
This four-component bundle looks fragile, but it worked for my project right out of the box, but with one notable exception: I had to freeze django-tinymce version on 2.0.4 because of import problem.
Being a full-stack web developer by necessity, I’m not a visual-thinking type of guy and prefer to cut my tinkering with site frontend to a very mininum. That’s why I take Twitter Bootstrap as a salvation.
This time I went even further and made my site a whole lot of appearance without writing a single line of CSS or JavaScript. All with the help of the following components:
Out-of-the-box custom-themed templates for django-user-account pages. The theme itself of course can be used all over the rest of the site.
In fact it is a prerequisite for the previous component, but nonetheless useful by itself.
By now DRF is used only for submitting comments, but I forsee a great future use for it.
Posted 3 years, 9 months ago
Some time ago I was began to experience one strange floating bug among the components of my working environment. The bug was really nasty, so that I could not pinpoint ...