Decorators
Overview¶
Decorator functions can be used within your components.py
to help simplify development.
Auth Required¶
You can limit access to a component to users with a specific auth_attribute
by using this decorator (with or without parentheses).
By default, this decorator checks if the user is logged in and not deactivated (is_active
).
This decorator is commonly used to selectively render a component only if a user is_staff
or is_superuser
.
1 2 3 4 5 6 7 8 |
|
See Interface
Parameters
Name | Type | Description | Default |
---|---|---|---|
auth_attribute | str | The value to check within the user object. This is checked in the form of UserModel.<auth_attribute> . | "is_active" |
fallback | ComponentType , VdomDict , None | The component or reactpy.html snippet to render if the user is not authenticated. | None |
Returns
Type | Description |
---|---|
Component | A ReactPy component. |
VdomDict | An reactpy.html snippet. |
None | No component render. |
How do I render a different component if authentication fails?
You can use a component with the fallback
argument, as seen below.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
How do I render a simple reactpy.html
snippet if authentication fails?
You can use a reactpy.html
snippet with the fallback
argument, as seen below.
1 2 3 4 5 6 7 8 |
|
How can I check if a user is_staff
?
You can set the auth_attribute
to is_staff
, as seen blow.
1 2 3 4 5 6 7 8 |
|
How can I check for a custom attribute?
You will need to be using a custom user model within your Django instance.
For example, if your user model has the field is_really_cool
...
1 2 3 4 5 6 7 |
|
... then you would do the following within your decorator:
1 2 3 4 5 6 7 8 |
|