Reference¶
Rolca core¶
Core models¶
-
class
rolca.core.models.
Contest
(*args, **kwargs)¶ Model for storing contests.
Contest object is the main object of single contest. It can contain multiple themes and all important dates for contest (start, end and results date).
-
is_active
()¶ Check if contest is active.
-
number_of_photos
()¶ Return number of photos submitted to the current contest.
-
save
(*args, **kwargs)¶ Save Contest instance.
-
-
class
rolca.core.models.
Theme
(*args, **kwargs)¶ Model for storing themes.
-
save
(*args, **kwargs)¶ Save Theme instance.
-
-
class
rolca.core.models.
Author
(*args, **kwargs)¶ Model for storing participents.
-
class
rolca.core.models.
Photo
(*args, **kwargs)¶ Model for storing uploaded photos.
-
class
rolca.core.models.
File
(*args, **kwargs)¶ Model for storing uploaded images.
Uploaded images can be stored prior to creating Photo instance. This way you can upload images while user is typing other data. Images are checked if meet size and format requirements before saving.
-
delete
(*args, **kwargs)¶ Delete attached images and actual object.
-
get_long_edge
()¶ Return longer edge of the image.
-
save
(*args, **kwargs)¶ Add photo thumbnail and save object.
-
Core API¶
Core API viewsets¶
Core API serializers¶
-
class
rolca.core.api.serializers.
FileSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Serializer for File objects.
-
class
rolca.core.api.serializers.
PhotoSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Serializer for Photo objects.
-
class
rolca.core.api.serializers.
ThemeSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Serializer for Theme objects.
Core API permissions¶
Core API URLs¶
The routList
is ment to be included in urlpatterns
with the
following code:
from rest_framework import routers
from rolca.core.api import urls as core_api_urls
route_lists = [
core_api_urls.routeList,
...
]
router = routers.DefaultRouter()
for route_list in route_lists:
for prefix, viewset in route_list:
router.register(prefix, viewset)
For advanced configuration code can be accordingly changed to meet the needs.
Core Admin¶
Core URLs¶
Rolca frontend¶
Frontend views¶
-
rolca.frontend.views.
upload_view
(request, *args, **kwargs)¶ View for uploading photos.
Frontend forms¶
-
class
rolca.frontend.forms.
PhotoForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None)¶ Form for handling Photo uploads.
-
save
(user, author, theme)¶ Save photo and create coresponding File object.
-
Frontend validators¶
Following validators are for validating ImageField
,
but can also be used with coresponding form fields
.
To use them, list them in validators
attribute of coresponding field:
my_field = models.ImageField(validators=[<validator_1>, <validator_2>,...])
-
rolca.frontend.validators.
validate_format
(value)¶ Check if file format is among allowed ones in settings.
List of allowed formats is read from
ROLCA_ACCEPTED_FORMATS
setting. If the setting is not defined, validation passes.Parameters: value (UploadedFile) – value of the field to be checked
Raises: - ValidationError – if image format is not among allowed formats
- ImproperlyConfigured – if
ROLCA_ACCEPTED_FORMATS
setting is defined but is not a list
-
rolca.frontend.validators.
validate_size
(value)¶ Check if file is smaller then specified in settings.
Maximum file size is read from
ROLCA_MAX_SIZE
setting. If the setting is not defined, validation passes.Parameters: value (UploadedFile) – value of the field to be checked
Raises: - ValidationError – if image size is greated than one define in settings
- ImproperlyConfigured – if
ROLCA_MAX_SIZE
setting is defined but is not a integer
-
rolca.frontend.validators.
validate_long_edge
(value)¶ Check if the long edge of the image meets requirements.
Maximum length of the long edge is read from
ROLCA_MAX_LONG_EDGE
setting. If the setting is not defined, validation passes.Parameters: value (UploadedFile) – value of the field to be checked
Raises: - ValidationError – if long edge is greated than one define in settings
- ImproperlyConfigured – if
ROLCA_MAX_LONG_EDGE
setting is defined but is not a integer
Frontend decorators¶
-
rolca.frontend.decorators.
check_contest_login_required
(function)¶ Use
login_required
decorator if contest has setlogin_required
.