users package¶
The app that handles users.
Subpackages¶
Submodules¶
users.adapters module¶
Custom adapters for django-allauth.
-
class
users.adapters.
AccountAdapter
(request=None)[source]¶ Bases:
allauth.account.adapter.DefaultAccountAdapter
Adapter for user accounts.
-
get_login_redirect_url
(request)[source]¶ Return the URL to redirect to after a successful login.
- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
The URL of the redirect.
-
get_logout_redirect_url
(request)[source]¶ Return the URL to redirect to after a successful logout.
- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
The URL of the redirect.
-
-
class
users.adapters.
SocialAccountAdapter
(request=None)[source]¶ Bases:
allauth.socialaccount.adapter.DefaultSocialAccountAdapter
Adapter for OAuth accounts.
-
get_connect_redirect_url
(request, social_account)[source]¶ Return the URL to redirect to after a successful connection.
- Parameters
request (
HttpRequest
) – The original request.social_account (
SocialAccount
) – The connected OAuth account.
- Return type
- Returns
The URL of the redirect.
-
users.admin module¶
Admin models for the users app.
-
class
users.admin.
UserTypeFilter
(request, params, model, model_admin)[source]¶ Bases:
django.contrib.admin.SimpleListFilter
Admin interface filter for user types.
-
lookups
(request, model_admin)[source]¶ Return a list of lookups for this filter.
The first element in each tuple is the value of the query parameter. The second element is the human-readable name for the option that will appear in the admin sidebar.
- Parameters
request (
HttpRequest
) – The original request.model_admin (
Type
[ModelAdmin
]) – An admin model object.
- Return type
- Returns
The following list of tuples:
[ ('superuser', 'Superuser'), ('staff', 'Staff'), ('scanlator', 'Scanlator'), ('regular', 'Regular') ]
-
-
class
users.admin.
User
(*args, **kwargs)[source]¶ Bases:
django.contrib.auth.models.User
django.contrib.auth.models.User
proxy model.-
exception
DoesNotExist
¶ Bases:
django.contrib.auth.models.User.DoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
django.contrib.auth.models.User.MultipleObjectsReturned
-
exception
-
class
users.admin.
UserForm
(*args, **kwargs)[source]¶ Bases:
django.forms.ModelForm
Admin form for
User
.-
save
(commit=True)[source]¶ Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.
-
base_fields
= {'date_joined': <django.forms.fields.DateTimeField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.CharField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'is_scanlator': <django.forms.fields.BooleanField object>, 'is_staff': <django.forms.fields.BooleanField object>, 'is_superuser': <django.forms.fields.BooleanField object>, 'last_login': <django.forms.fields.DateTimeField object>, 'last_name': <django.forms.CharField object>, 'password': <django.forms.CharField object>, 'user_permissions': <django.forms.models.ModelMultipleChoiceField object>, 'username': <django.forms.CharField object>}¶
-
declared_fields
= {'is_scanlator': <django.forms.fields.BooleanField object>}¶
-
-
class
users.admin.
UserAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.ModelAdmin
Admin model for
User
.-
exclude
= ('password', 'groups')¶
-
list_display
= ('username', '_email', 'full_name', 'date_joined', 'is_active')¶
-
list_editable
= ('is_active',)¶
-
search_fields
= ('username', 'email', 'first_name', 'last_name')¶
-
list_filter
= (<class 'MangAdventure.filters.boolean_filter.<locals>._BooleanFilter'>, <class 'users.admin.UserTypeFilter'>)¶
-
ordering
= ('username',)¶
-
has_add_permission
(request)[source]¶ Return whether adding an
User
object is permitted.- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
Always returns
False
.
-
-
class
users.admin.
OAuthApp
(*args, **kwargs)[source]¶ Bases:
allauth.socialaccount.models.SocialApp
allauth.socialaccount.models.SocialApp
proxy model.-
__str__
()[source]¶ Return a string representing the object.
- Return type
- Returns
The name and provider of the app.
-
exception
DoesNotExist
¶ Bases:
allauth.socialaccount.models.SocialApp.DoesNotExist
-
exception
MultipleObjectsReturned
¶ Bases:
allauth.socialaccount.models.SocialApp.MultipleObjectsReturned
-
users.api module¶
API viewsets for the users app.
-
class
users.api.
BookmarkViewSet
(**kwargs)[source]¶ Bases:
rest_framework.mixins.ListModelMixin
,rest_framework.mixins.CreateModelMixin
,rest_framework.mixins.DestroyModelMixin
,api.v2.mixins.CORSMixin
,rest_framework.viewsets.GenericViewSet
API endpoints for bookmarks.
list: List your bookmarked series and the feed URLs.
create: Bookmark the given series.
delete: Unbookmark the given series.
-
schema
¶ OpenAPISchema
– Custom OpenAPI schema class.
-
permission_classes
= (<class 'rest_framework.permissions.IsAuthenticated'>,)¶
-
serializer_class
¶ alias of
users.serializers.BookmarkSerializer
-
pagination_class
¶ alias of
users.serializers.BookmarkPagination
-
lookup_field
= 'series__slug'¶
-
lookup_url_kwarg
= 'slug'¶
-
get_permissions
()[source]¶ Instantiates and returns the list of permissions that this view requires.
- Return type
-
get_queryset
()[source]¶ Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using self.queryset.
This method should always be used rather than accessing self.queryset directly, as self.queryset gets evaluated only once, and those results are cached for all subsequent requests.
You may want to override this if you need to provide different querysets depending on the incoming request.
(Eg. return a list of items that is specific to the user)
- Return type
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
name
= None¶
-
suffix
= None¶
-
class
users.api.
ApiKeyViewSet
(**kwargs)[source]¶ Bases:
rest_framework.mixins.CreateModelMixin
,api.v2.mixins.CORSMixin
,rest_framework.viewsets.GenericViewSet
API endpoints for API keys.
create: Create or retrieve your API key.
-
schema
¶ OpenAPISchema
– Custom OpenAPI schema class.
-
serializer_class
¶ alias of
rest_framework.authtoken.serializers.AuthTokenSerializer
-
permission_classes
= ()¶
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
name
= None¶
-
suffix
= None¶
users.apps module¶
App configuration.
users.backends module¶
Custom authentication backends.
-
class
users.backends.
ScanlationBackend
[source]¶ Bases:
django.contrib.auth.backends.ModelBackend
Authentication backend with scanlator permissions.
users.feeds module¶
RSS and Atom feeds for the users app.
-
class
users.feeds.
BookmarksRSS
[source]¶ Bases:
django.contrib.syndication.views.Feed
RSS feed for a user’s bookmarks.
-
ttl
= 600¶
-
link
= '/user/bookmarks/'¶
-
title
= 'Bookmarks - MangAdventure'¶
-
description
= 'Updates when a bookmarked series has a new release'¶
-
item_guid_is_permalink
= True¶
-
__call__
(request, *args, **kwargs)[source]¶ Get the HTTP response of the feed.
- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
-
-
class
users.feeds.
BookmarksAtom
[source]¶ Bases:
users.feeds.BookmarksRSS
Atom feed for a user’s bookmarks.
-
feed_type
¶ alias of
django.utils.feedgenerator.Atom1Feed
-
subtitle
= 'Updates when a bookmarked series has a new release'¶
-
users.forms module¶
Form models for the users app.
-
class
users.forms.
UserProfileForm
(*args, **kwargs)[source]¶ Bases:
django.forms.ModelForm
Form used for editing a
UserProfile
model.-
email
¶ EmailField
- The user’s e-mail address.
-
avatar
¶ ImageField
- The user’s avatar.
-
clean_username
()[source]¶ CharField
- Validate the chosen username.- Return type
- Returns
The username if valid.
- Raises
ValidationError – If the username is taken.
-
clean_new_password2
()[source]¶ CharField
- Validate the chosen password.- Return type
- Returns
The new password if valid.
- Raises
ValidationError – If the passwords don’t match.
-
clean_curr_password
()[source]¶ CharField
- Validate the current password.- Return type
- Returns
The current password if valid.
- Raises
ValidationError – If the password is wrong.
-
save
(commit=True)[source]¶ CharField
- Save the changes to theUserProfile
.- Parameters
commit (
bool
) – Controls whether the changes should be committed to the database.- Return type
- Returns
The updated
UserProfile
object.
-
class
Meta
[source]¶ Bases:
object
-
model
¶ alias of
users.models.UserProfile
-
fields
= ('email', 'new_password1', 'new_password2', 'username', 'first_name', 'last_name', 'bio', 'avatar', 'curr_password')¶
-
-
base_fields
= {'avatar': <django.forms.fields.ImageField object>, 'bio': <django.forms.CharField object>, 'curr_password': <django.forms.CharField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.CharField object>, 'last_name': <django.forms.CharField object>, 'new_password1': <django.forms.CharField object>, 'new_password2': <django.forms.CharField object>, 'username': <django.forms.CharField object>}¶
-
declared_fields
= {'avatar': <django.forms.fields.ImageField object>, 'bio': <django.forms.CharField object>, 'curr_password': <django.forms.CharField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.CharField object>, 'last_name': <django.forms.CharField object>, 'new_password1': <django.forms.CharField object>, 'new_password2': <django.forms.CharField object>, 'username': <django.forms.CharField object>}¶
-
users.models module¶
Database models for the users app.
-
class
users.models.
Bookmark
(*args, **kwargs)[source]¶ Bases:
django.db.models.Model
A model representing a bookmark.
-
series
¶ ForeignKey
– The series this bookmark belongs to.
-
user
¶ ForeignKey
– The user this bookmark belongs to.
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
objects
= <django.db.models.manager.Manager object>¶
-
-
class
users.models.
UserProfile
(*args, **kwargs)[source]¶ Bases:
django.db.models.Model
A model representing a user’s profile.
TODO
Add links and let users hide their e-mail.
-
user
¶ OneToOneField
– The user this profile belongs to.
-
avatar
¶ ImageField
– The avatar of the user.
-
get_absolute_url
()[source]¶ Get the absolute URL of the object.
- Return type
- Returns
The URL of
users.views.profile()
.
-
get_directory
()[source]¶ Get the storage directory of the object.
- Return type
- Returns
A path relative to
MEDIA_ROOT
.
-
__str__
()[source]¶ Return a string representing the object.
- Return type
- Returns
The user as a string.
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
objects
= <django.db.models.manager.Manager object>¶
-
-
class
users.models.
ApiKey
(*args, **kwargs)[source]¶ Bases:
django.db.models.Model
A model that contains a user’s API key.
-
user
¶ OneToOneField
– The user this key belongs to.
-
created
¶ DateTimeField
– The creation date of the key.
-
__str__
()[source]¶ Return a string representing the object.
- Return type
- Returns
The key as a string.
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
get_next_by_created
(*, field=<django.db.models.fields.DateTimeField: created>, is_next=True, **kwargs)¶
-
get_previous_by_created
(*, field=<django.db.models.fields.DateTimeField: created>, is_next=False, **kwargs)¶
-
objects
= <django.db.models.manager.Manager object>¶
-
users.receivers module¶
Signal receivers for the users app.
-
users.receivers.
update_user_email
(sender, request, email_address, **kwargs)[source]¶ Receive a signal when an email address is updated and confirmed.
When the signal is received, the new
email_address
is made primary and the old email addresses are deleted.- Parameters
sender (
Type
[EmailAddress
]) – The model class that sent the signal.request (
HttpRequest
) – The original request.email_address (
EmailAddress
) – The new email address.
users.serializers module¶
Serializers for the users app.
-
class
users.serializers.
BookmarkPagination
[source]¶ Bases:
rest_framework.pagination.BasePagination
Fake pagination class to adapt the bookmarks list schema.
-
class
users.serializers.
BookmarkSerializer
(*args, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
Serializer for bookmarks.
-
class
users.serializers.
ProfileSerializer
(*args, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
Serializer for user profiles.
-
class
Meta
[source]¶ Bases:
object
-
model
¶ alias of
users.models.UserProfile
-
fields
= ('username', 'first_name', 'last_name', 'email', 'bio', 'avatar', 'password', 'url')¶
-
extra_kwargs
= {'avatar': {'allow_null': True, 'help_text': 'Your avatar image. (<2MBs)'}, 'bio': {'help_text': 'Some info about yourself.', 'label': None}}¶
-
-
class
users.urls module¶
The URLconf of the users app.
-
users.urls.
urlpatterns
= [<URLPattern '' [name='user_profile']>, <URLPattern 'edit/' [name='user_edit']>, <URLPattern 'logout/' [name='account_logout']>, <URLPattern 'bookmarks/' [name='user_bookmarks']>, <URLPattern 'bookmarks.atom' [name='user_bookmarks.atom']>, <URLPattern 'bookmarks.rss' [name='user_bookmarks.rss']>, <URLResolver <module 'allauth.account.urls' from '/home/docs/checkouts/readthedocs.org/user_builds/mangadventure/envs/v0.7.4/lib/python3.6/site-packages/allauth/account/urls.py'> (None:None) ''>, <URLResolver <module 'allauth.socialaccount.urls' from '/home/docs/checkouts/readthedocs.org/user_builds/mangadventure/envs/v0.7.4/lib/python3.6/site-packages/allauth/socialaccount/urls.py'> (None:None) 'social/'>, <URLResolver <URLPattern list> (None:None) 'reddit/'>, <URLResolver <URLPattern list> (None:None) 'twitter/'>, <URLResolver <URLPattern list> (None:None) 'google/'>, <URLResolver <URLPattern list> (None:None) 'discord/'>]¶ The URL patterns of the users app.
users.views module¶
The views of the users app.
-
users.views.
profile
(request)[source]¶ View that serves the profile page of a user. A
UserProfile
will be created if it doesn’t exist.It serves the logged in user’s profile by default, but accepts an
id
query parameter to view an arbitrary user’s profile.- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
A response with the rendered
profile.html
template.- Raises
Http404 – If there is no active user with the specified
id
.
-
class
users.views.
EditUser
(**kwargs)[source]¶ Bases:
django.views.generic.base.TemplateView
View that serves the edit form for a user’s profile.
-
setup
(request, *args, **kwargs)[source]¶ Initialize attributes shared by all view methods.
A
UserProfile
will be created if the request user does not yet have one.- Parameters
request (
HttpRequest
) – The original request.
-
get
(request, *args, **kwargs)[source]¶ Handle
GET
requests.- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
A response with the rendered
template
.
-
post
(request, *args, **kwargs)[source]¶ Handle
POST
requests.If the user has changed their e-mail, a confirmation mail will be sent.
- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
A response with the rendered
template
.
-
dispatch
(request, *args, **kwargs)¶
-
-
class
users.views.
Bookmarks
(**kwargs)[source]¶ Bases:
django.views.generic.base.TemplateView
View that serves a user’s bookmarks page.
-
get
(request, *args, **kwargs)[source]¶ Handle
GET
requests.- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
A response with the rendered
template
.
-
post
(request, *args, **kwargs)[source]¶ Handle
POST
requests.If a bookmark exists, it will be deleted. If not, it will be created.
- Parameters
request (
HttpRequest
) – The original request.- Return type
- Returns
-
dispatch
(request, *args, **kwargs)¶
-