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 wrappinghandle
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 aget_translaion
method to a model that is registered withsimple-translation
. - A
SimpleTranslationMixin
which makes it easier to write factories for models that are registered withsimple-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.
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
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/
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