Core

Forms

Forms

class apps.core.forms.RequestFormMixin(*args, **kwargs)

RequestFormMixin, store Django request instance in self.request

Note

request instance should be given via keywords while form instance init

class RequestForm(RequestFormMixin, forms.ModelForm):
    class Meta:
        model = SomeModel

def foo(request):
    form = RequestForm(request.POST or None, request=request)
    ...
class apps.core.forms.RequestModelForm(*args, **kwargs)

RequestModelForm, bases on forms.ModelForm class use RequestFormMixin instead of it

Views

Views

class apps.core.views.IndexView(**kwargs)

Index view

class apps.core.views.LoginRequiredMixin

LoginRequired View Mixin

Helpers

Helpers.

apps.core.helpers.get_content_type(obj)

Gets content_type for Object. Works with ModelBase based classes, its instances and with format string 'app_label.model_name', also supports django-sphinx models and instances modification retrieves content_type or raise the common django Exception

Returns:ContentType instance
Parameters:obj (django.db.models.Model or str) – Model class, instance, basestring classpath instance
Exception:ObjectDoestNotExist, MultipleObjectsReturned
user_content_type = get_content_type(User)
user_content_type = get_content_type(onsite_user)
user_content_type = get_content_type('auth.user')
apps.core.helpers.get_content_type_or_404(source)

Gets source content_type or raises Http404

Returns:ContentType instance
Exception:Http404
apps.core.helpers.get_content_type_or_None(source)

Gets source content_type or returns None

Returns:ContentType instance or None
apps.core.helpers.get_int_or_zero(value)

get int or int(0)

Parameters:| int value (str) –
Return type:int
Returns:int

Shortcuts

apps.core.shortcuts.direct_to_template(request, template, context=None, processors=None)

return response object

Parameters:
  • request – Django HttpRequest instance
  • template – template file place on filesystem and stored in template directory ex. 'accounts/profile.html'
  • context

    dict instance with render context

    {'context': True, 'time': datetime.now()}
    
  • processors – context processors
Returns:

HttpResponse object instance

Context Processors

Context processors

apps.core.context_processors.global_referer(request)

global_referer context processor

Returns:current_referer sets to current URI (HTTP_HOST + PATH_INFO)

global_referer sets to HTTP_REFERER

<input value='{{ global_referer }}' name='next' />
{{ current_date|timezone:"Europe/London"|date:"d.m.Y H:i" }}
apps.core.context_processors.global_settings(request)

global settings context processor

Returns:gs as django.conf.settings object

get_full_path as request.get_full_path() instance

current_date as timezone.now()

{% load tz i18n %}
I18N is currently {{ gs.I18N|yesno:"enabled, disabled" }}
{{ current_date|timezone:"Europe/London"|date:"d.m.Y H:i" }}
apps.core.context_processors.session(request)

session context processor

Returns:session as request.session instance
apps.core.context_processors.template(request)

template context processor

Returns:base as settings.DEFAULT_TEMPLATE
{% extends base %}