Git Product home page Git Product logo

django-libs's Introduction

Django Libs

This project aims to provide commonly used building blocks for Django projects and applications.

Current features:

  • 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.
  • 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.
  • Amazon S3 storage + django-compressor support files.
  • An AJAX View to display paginated comments for every possible object.
  • Tools to improve django-hvad

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/bitlabstudio/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

django-libs's People

Contributors

bitlab-bot avatar dkaufhold avatar jayvdb avatar jenstimmerman avatar jor123 avatar kevgathuku avatar kitsunde avatar kronosfere avatar mbrochh avatar mikejarrett avatar reston avatar sick-art avatar tirkarthi avatar tyrdall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-libs's Issues

Invalid escape sequences

./django_libs/decorators.py:56:30: W605 invalid escape sequence '\w'
./django_libs/decorators.py:56:33: W605 invalid escape sequence '\.'
./django_libs/models.py:10:47: W605 invalid escape sequence '\.'
./django_libs/models.py:10:55: W605 invalid escape sequence '\.'
./django_libs/test_email_backend.py:51:25: W605 invalid escape sequence '\.'

Remove South for Django 1.8

When I use django libs for Django 1.8, it will install the South. But when I run manage.py test, it will show this message:

Creating test database for alias 'default'...
There is no South database module 'south.db.sqlite3' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

Could you remove South?? Thanks lots.

rethink should_be_callable_when_has_correct_permissions

The method "should_be_callable_when_has_correct_permissions" in the tests.mixins checks for a redirect to 'auth_login'. I'm not sure if this is the most common case or make sense at all, since if a user is logged in, he will probably not log into a different account to being able to see a different view. This most likely is another person, which hasn't the account that grant him permission to the requested view. So the redirect should probably also be an argument or be provided by a class method so that the developers can specify it themselves according to the current project practices.

How to use a code snippet from you and include a copyright notice

I'm working on a scientific project (https://topobank.contact.engineering) which is MIT licensed. There I'll need to highlight navigation bar items. In your project, the template tag navactive
does exactly what I need, but I don't want to add a dependency to your full project at the moment (maybe later).

Instead I'd like to just use your code for navactive and I would like to give a proper attribution to you. How can this be done in an easy way? Would a comment in my code with a link to your project be sufficient for you or is there a common way to do this?

add License info to setup.cfg

currently this package shows up in automated license checkers as UNKNOWN. I think this can be fixed by adding a license key to the [metadata] section in setup.cfg.

django 1.9.x compatibility

with django 1.9.2 I run into an ImportError:

File "/[path-to-site-packages]/django_libs/format_utils.py", line 19, in
from django.utils.importlib import import_module
ImportError: No module named importlib

In the given django version there is no importlib module anymore.
A small change like the following did the trick (for me):

try:
    from importlib import import_module
except ImportError:
    from django.utils.importlib import import_module

hope this helps
regards, schoera

FACTORY_FOR is deprecated in factory_boy

I am using this library to generate a UserFactory in my tests and they are currently failing with the following error

FactoryError: Cannot generate instances of abstract factory UserFactory; Ensure UserFactory.Meta.model is set and UserFactory.Meta.abstract is either not set or False.

I suspect this is due to the use of the deprecated FACTORY_FOR which was deprecated in version 2.4 as documented in the Release Notes
Is there any way you could support this?
Thanks in advance.

libs_tags.py uses things that aren't available in Python 3 (django.utils.encoding.force_unicode)

The Django docs say that django.utils.encoding.force_unicode is not available in Python 3, and errors do get raised when I try to use django_multilingual_survey on Python 3.2 3.4 because this force_unicode doesn't exist there. Apparently it's going to be called force_text now.

https://github.com/bitmazk/django-libs/blob/9e813d362e5476eb3bd657d245a6df0ead1b8951/django_libs/templatetags/libs_tags.py#L12

Thank you for open sourcing so much of your work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.