A collection of things that we re-use in every Django project, such as custom middlewares, testrunner, templates, templatetags, test mixins, test factories etc...
Project description
This project aims to provide commonly used building blocks for Django projects and applications.
Current features:
A custom testrunner that uses django-nose for discovering tests and django-coverage for automatically generating a coverage report on each test run
A factory for creating User objects
TestCase mixins to ease the process of testing views via self.client.get
A JSONResponseMixin
New generic class based view DetailViewWithPostAction which is able to handle custom post actions.
Template filter to provide field’s verbose names
Template tag for displaying the currently selected main navigation item
Custom test_email_backend that sends emails to your own address no matter who the recepient is
Functions to test callable or non-callable views
Dummy views to test your 404 and 500 templates
RapidPrototypingView to render any template even when it has no view hooked up in urls.py.
AjaxRedirectMiddleware for jQuery AJAX calls that return 301 redirects
AjaxResponseMixin for views that can return their normal template or a partial template when it is an ajax call
AccessMixin which allows to use views with the login_required decorator based on a setting.
A context processor to add your analytics tracking code to your template context.
A decorator lockfile for wrapping handle methods of admin commands so that they never run twice at the same time.
A getCookie js function that can be used to retrieve the csrf token for AJAX POST requests.
A templatetag call which allows to call any method with params.
A SimpleTranslationMixin which adds a get_translaion method to a model that is registered with simple-translation.
A SimpleTranslationMixin which makes it easier to write factories for models that are registered with simple-translation.
Utilities for loading classes from a string like myproject.models.Foobar.
Form, which add field labels as placeholder attributes.
Function to convert html code into formatted plain text.
Coming soon:
View mixins to make class based views private for authenticated users
Extensive fabfile for checking pep8 compliancy, running tests, importing and exporting the database and locale files, dumping and loading fixtures etc.
Useful shell scripts to be installed on the server for various maintenance and deployment tasks
Smart urlpatterns to serve static and media files when you set DEBUG=False locally, no need to setup Apache on your development machine
A set of templates for django-registration and some partials for rendering forms compatible with Twitter Bootstrap.
Installation
To get the latest stable release from PyPi:
$ pip install django-libs
To get the latest commit from GitHub:
$ pip install -e git://github.com/bitmazk/django-libs.git#egg=django_libs
Usage
See the docs folder for descriptions of the different tools this project provides.
Or read the docs here: http://django-libs.readthedocs.org/en/latest/
Contribute
If you want to contribute to this project, please perform the following steps:
# Fork this repository # Clone your fork $ mkvirtualenv -p python2.7 django-libs $ pip install -r requirements.txt $ git co -b feature_branch master # Implement your feature and tests $ git add . && git commit $ git push -u origin feature_branch # Send us a pull request for your feature branch
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.