Skip to main content

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

  • 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.

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

This version

1.11

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-libs-1.11.tar.gz (24.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page