django-pfx 1.2.dev133__tar.gz → 1.2.dev139__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/.gitlab-ci.yml +5 -3
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/PKG-INFO +23 -8
- django-pfx-1.2.dev139/README.md +27 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/django_pfx.egg-info/PKG-INFO +23 -8
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/django_pfx.egg-info/SOURCES.txt +1 -1
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/index.rst +3 -3
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/authentication.md +2 -1
- django-pfx-1.2.dev139/doc/source/settings.md +65 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/testing.md +3 -3
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/setup.cfg +2 -1
- django-pfx-1.2.dev133/README.md +0 -13
- django-pfx-1.2.dev133/doc/source/cookbook.md +0 -9
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/.gitignore +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/.pre-commit-config.yaml +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/LICENSE +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/MANIFEST.in +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/django_pfx.egg-info/requires.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/django_pfx.egg-info/top_level.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/Makefile +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/conf.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/api.views.rst +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/decorator.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/generate_openapi.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/getting_started.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/internationalisation.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/model.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/pfx_views.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/doc/source/profiling.md +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/img/pfx.png +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/img/pfx.svg +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/apps.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/decorator/rest.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/default_settings.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/exceptions.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/http/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/http/json_response.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/management/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/middleware/locale.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/serializers/json.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/settings.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/shortcuts.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/storage/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/test.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/urls.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/filters_views.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/locale_views.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/rest_views.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pyproject.toml +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/requirements.txt +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/runtest.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/serve-doc +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/setup.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/models.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/ci.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/common.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/dev.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/dev_custom_example.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/settings/dev_default.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/__init__.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/basic_api_errors.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/basic_api_test.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_api_doc.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_auth_api.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_cache.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_client.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_filters.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_locale_api.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_perm_tests.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_perms_api.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_profiling_middleware.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_shortcuts.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_timezone_middleware.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_tools.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_user_queryset.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_view_decorators.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/tests/test_view_fields.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/urls.py +0 -0
- {django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/tests/views.py +0 -0
|
@@ -85,9 +85,11 @@ pages:
|
|
|
85
85
|
- master
|
|
86
86
|
|
|
87
87
|
package:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
rules:
|
|
89
|
+
- if: $CI_COMMIT_TAG =~ /^\d+\.\d+$/
|
|
90
|
+
when: on_success
|
|
91
|
+
- if: $CI_COMMIT_BRANCH == "master"
|
|
92
|
+
when: on_success
|
|
91
93
|
script:
|
|
92
94
|
- apt-get update
|
|
93
95
|
- apt-get install -y gettext
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.2.
|
|
4
|
-
Summary: Django PFX is a toolkit to
|
|
3
|
+
Version: 1.2.dev139
|
|
4
|
+
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
7
7
|
License: BSD-3-Clause
|
|
@@ -11,6 +11,7 @@ Project-URL: Documentation, https://pfx4.gitlab.io/django-pfx/doc/
|
|
|
11
11
|
Classifier: Environment :: Web Environment
|
|
12
12
|
Classifier: Framework :: Django
|
|
13
13
|
Classifier: Framework :: Django :: 3.2
|
|
14
|
+
Classifier: Framework :: Django :: 4.2
|
|
14
15
|
Classifier: Intended Audience :: Developers
|
|
15
16
|
Classifier: License :: OSI Approved :: BSD License
|
|
16
17
|
Classifier: Operating System :: OS Independent
|
|
@@ -37,14 +38,28 @@ Requires-Dist: dill
|
|
|
37
38
|
|
|
38
39
|
# Django PFX
|
|
39
40
|
|
|
40
|
-
![pipeline]
|
|
41
|
-
![coverage]
|
|
41
|
+
[](https://gitlab.com/pfx4/django-pfx/-/commits/master)
|
|
42
|
+
[](https://pfx4.gitlab.io/django-pfx/coverage)
|
|
42
43
|
|
|
43
44
|
![logo]
|
|
44
45
|
|
|
45
|
-
Django PFX is a toolkit to
|
|
46
|
+
Django PFX is a toolkit designed to streamline the development of RESTful APIs
|
|
47
|
+
using the Django framework, leveraging views and the ORM (Object-Relational Mapping).
|
|
48
|
+
With a focus on simplicity and efficiency, Django PFX enables developers to rapidly
|
|
49
|
+
create robust web service APIs for web applications and simplifies the testing process.
|
|
46
50
|
|
|
51
|
+
### Key Features:
|
|
52
|
+
- Predefined CRUD API (but customizable)
|
|
53
|
+
- Internationalization
|
|
54
|
+
- Authentication & Authorization
|
|
55
|
+
- JSON-only RESTful API
|
|
56
|
+
- Flexibility
|
|
57
|
+
- Tests & Profiling Tools
|
|
58
|
+
- Automatic Open API Documentation
|
|
47
59
|
|
|
48
|
-
|
|
49
|
-
[
|
|
50
|
-
[
|
|
60
|
+
### Links
|
|
61
|
+
- [Source](https://gitlab.com/pfx4/django-pfx)
|
|
62
|
+
- [Issue tracker](https://gitlab.com/pfx4/django-pfx/-/issues)
|
|
63
|
+
- [Documentation](https://pfx4.gitlab.io/django-pfx/doc/)
|
|
64
|
+
|
|
65
|
+
[logo]: https://gitlab.com/pfx4/django-pfx/-/raw/master/img/pfx.png "PFX"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Django PFX
|
|
2
|
+
|
|
3
|
+
[](https://gitlab.com/pfx4/django-pfx/-/commits/master)
|
|
4
|
+
[](https://pfx4.gitlab.io/django-pfx/coverage)
|
|
5
|
+
|
|
6
|
+
![logo]
|
|
7
|
+
|
|
8
|
+
Django PFX is a toolkit designed to streamline the development of RESTful APIs
|
|
9
|
+
using the Django framework, leveraging views and the ORM (Object-Relational Mapping).
|
|
10
|
+
With a focus on simplicity and efficiency, Django PFX enables developers to rapidly
|
|
11
|
+
create robust web service APIs for web applications and simplifies the testing process.
|
|
12
|
+
|
|
13
|
+
### Key Features:
|
|
14
|
+
- Predefined CRUD API (but customizable)
|
|
15
|
+
- Internationalization
|
|
16
|
+
- Authentication & Authorization
|
|
17
|
+
- JSON-only RESTful API
|
|
18
|
+
- Flexibility
|
|
19
|
+
- Tests & Profiling Tools
|
|
20
|
+
- Automatic Open API Documentation
|
|
21
|
+
|
|
22
|
+
### Links
|
|
23
|
+
- [Source](https://gitlab.com/pfx4/django-pfx)
|
|
24
|
+
- [Issue tracker](https://gitlab.com/pfx4/django-pfx/-/issues)
|
|
25
|
+
- [Documentation](https://pfx4.gitlab.io/django-pfx/doc/)
|
|
26
|
+
|
|
27
|
+
[logo]: https://gitlab.com/pfx4/django-pfx/-/raw/master/img/pfx.png "PFX"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.2.
|
|
4
|
-
Summary: Django PFX is a toolkit to
|
|
3
|
+
Version: 1.2.dev139
|
|
4
|
+
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
7
7
|
License: BSD-3-Clause
|
|
@@ -11,6 +11,7 @@ Project-URL: Documentation, https://pfx4.gitlab.io/django-pfx/doc/
|
|
|
11
11
|
Classifier: Environment :: Web Environment
|
|
12
12
|
Classifier: Framework :: Django
|
|
13
13
|
Classifier: Framework :: Django :: 3.2
|
|
14
|
+
Classifier: Framework :: Django :: 4.2
|
|
14
15
|
Classifier: Intended Audience :: Developers
|
|
15
16
|
Classifier: License :: OSI Approved :: BSD License
|
|
16
17
|
Classifier: Operating System :: OS Independent
|
|
@@ -37,14 +38,28 @@ Requires-Dist: dill
|
|
|
37
38
|
|
|
38
39
|
# Django PFX
|
|
39
40
|
|
|
40
|
-
![pipeline]
|
|
41
|
-
![coverage]
|
|
41
|
+
[](https://gitlab.com/pfx4/django-pfx/-/commits/master)
|
|
42
|
+
[](https://pfx4.gitlab.io/django-pfx/coverage)
|
|
42
43
|
|
|
43
44
|
![logo]
|
|
44
45
|
|
|
45
|
-
Django PFX is a toolkit to
|
|
46
|
+
Django PFX is a toolkit designed to streamline the development of RESTful APIs
|
|
47
|
+
using the Django framework, leveraging views and the ORM (Object-Relational Mapping).
|
|
48
|
+
With a focus on simplicity and efficiency, Django PFX enables developers to rapidly
|
|
49
|
+
create robust web service APIs for web applications and simplifies the testing process.
|
|
46
50
|
|
|
51
|
+
### Key Features:
|
|
52
|
+
- Predefined CRUD API (but customizable)
|
|
53
|
+
- Internationalization
|
|
54
|
+
- Authentication & Authorization
|
|
55
|
+
- JSON-only RESTful API
|
|
56
|
+
- Flexibility
|
|
57
|
+
- Tests & Profiling Tools
|
|
58
|
+
- Automatic Open API Documentation
|
|
47
59
|
|
|
48
|
-
|
|
49
|
-
[
|
|
50
|
-
[
|
|
60
|
+
### Links
|
|
61
|
+
- [Source](https://gitlab.com/pfx4/django-pfx)
|
|
62
|
+
- [Issue tracker](https://gitlab.com/pfx4/django-pfx/-/issues)
|
|
63
|
+
- [Documentation](https://pfx4.gitlab.io/django-pfx/doc/)
|
|
64
|
+
|
|
65
|
+
[logo]: https://gitlab.com/pfx4/django-pfx/-/raw/master/img/pfx.png "PFX"
|
|
@@ -20,7 +20,6 @@ doc/conf.py
|
|
|
20
20
|
doc/index.rst
|
|
21
21
|
doc/source/api.views.rst
|
|
22
22
|
doc/source/authentication.md
|
|
23
|
-
doc/source/cookbook.md
|
|
24
23
|
doc/source/decorator.md
|
|
25
24
|
doc/source/generate_openapi.md
|
|
26
25
|
doc/source/getting_started.md
|
|
@@ -28,6 +27,7 @@ doc/source/internationalisation.md
|
|
|
28
27
|
doc/source/model.md
|
|
29
28
|
doc/source/pfx_views.md
|
|
30
29
|
doc/source/profiling.md
|
|
30
|
+
doc/source/settings.md
|
|
31
31
|
doc/source/testing.md
|
|
32
32
|
img/pfx.png
|
|
33
33
|
img/pfx.svg
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
Welcome to Django PFX's documentation!
|
|
7
7
|
======================================
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
.. include:: ../README.md
|
|
10
|
+
:parser: myst_parser.sphinx_
|
|
11
11
|
|
|
12
12
|
Topics
|
|
13
13
|
======
|
|
@@ -21,7 +21,7 @@ Topics
|
|
|
21
21
|
source/model
|
|
22
22
|
source/internationalisation
|
|
23
23
|
source/authentication
|
|
24
|
-
source/
|
|
24
|
+
source/settings
|
|
25
25
|
source/testing
|
|
26
26
|
source/profiling
|
|
27
27
|
source/generate_openapi
|
|
@@ -104,7 +104,7 @@ A service that allows users to request a password reset. This service sends an e
|
|
|
104
104
|
a link to a "set password" page, which your frontend software must implement.
|
|
105
105
|
|
|
106
106
|
You must set `PFX_RESET_PASSWORD_URL` in your settings to define this "set password" link.
|
|
107
|
-
The link
|
|
107
|
+
The link must include the `token` and `uidb64` parameters,
|
|
108
108
|
like so: `https://example.com/reset-password?token={token}&uidb64={uidb64}`.
|
|
109
109
|
Your reset page should then call the "set password" service with these two parameters.
|
|
110
110
|
|
|
@@ -121,6 +121,7 @@ Refer to the [API doc](api.views.rst#pfx.pfxcore.views.ForgottenPasswordView) fo
|
|
|
121
121
|
|
|
122
122
|
**Responses :**
|
|
123
123
|
* `HTTP 200` OK with a success message.
|
|
124
|
+
* `HTTP 422` Error if the email parameter is not an email address
|
|
124
125
|
|
|
125
126
|
### Sign Up
|
|
126
127
|
A service that allows visitors to sign up.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Settings
|
|
2
|
+
This page lists all the settings used by Django PFX.
|
|
3
|
+
|
|
4
|
+
## Base
|
|
5
|
+
|
|
6
|
+
### PFX_BASE_URL
|
|
7
|
+
Base url of your frontend application.
|
|
8
|
+
Not used directly by PFX, but can be used in email templates for instance.
|
|
9
|
+
|
|
10
|
+
### PFX_SITE_NAME
|
|
11
|
+
The name of your website, application and/or api.
|
|
12
|
+
Used in the email sent by pfx (welcome email, reset password, etc.)
|
|
13
|
+
|
|
14
|
+
### PFX_RESET_PASSWORD_URL
|
|
15
|
+
The url to set/reset password in your frontend application.
|
|
16
|
+
The url must include the `token` and `uidb64` parameters,
|
|
17
|
+
like so: `f'{PFX_BASE_URL}/define-password?token={token}&uidb64={uidb64}"`.
|
|
18
|
+
|
|
19
|
+
### PFX_MAX_LIST_RESULT_SIZE
|
|
20
|
+
The maximum size of list returned by PFX ListRestView services.
|
|
21
|
+
The goal is to avoid performance issues for huge database table.
|
|
22
|
+
|
|
23
|
+
### PFX_TEST_MODE
|
|
24
|
+
|
|
25
|
+
Enable test features.
|
|
26
|
+
|
|
27
|
+
One good way to automate this setting is to rely on manage.py parameter
|
|
28
|
+
|
|
29
|
+
To test if you launch test`./manage.py test` :
|
|
30
|
+
```python
|
|
31
|
+
import sys
|
|
32
|
+
|
|
33
|
+
if len(sys.argv) > 1 and sys.argv[1] == 'test':
|
|
34
|
+
PFX_TEST_MODE=True
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Authentication
|
|
39
|
+
|
|
40
|
+
### PFX_SECRET_KEY
|
|
41
|
+
The secret key used to cypher the JWT token.
|
|
42
|
+
|
|
43
|
+
### PFX_TOKEN_SHORT_VALIDITY
|
|
44
|
+
Validity for short-validity tokens (optional, default `{'hours': 12}`)
|
|
45
|
+
|
|
46
|
+
### PFX_TOKEN_LONG_VALIDITY
|
|
47
|
+
Validity for long-validity tokens (optional, default `{'days': 30}`)
|
|
48
|
+
|
|
49
|
+
### PFX_COOKIE_DOMAIN
|
|
50
|
+
The domain sent in the cookie.
|
|
51
|
+
Refer to [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value)
|
|
52
|
+
|
|
53
|
+
### PFX_COOKIE_SECURE
|
|
54
|
+
Boolean, value that indicate that the cookie is sent only with https request.
|
|
55
|
+
Refer to [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure)
|
|
56
|
+
|
|
57
|
+
### PFX_COOKIE_SAMESITE
|
|
58
|
+
SameSite value of the cookie.
|
|
59
|
+
Can be `Strict`, `Lax`, `None`
|
|
60
|
+
Refer to [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value)
|
|
61
|
+
|
|
62
|
+
## Authorisation
|
|
63
|
+
|
|
64
|
+
### PFX_FORCE_USER_FILTERED_QUERYSET
|
|
65
|
+
Force the use of a specific queryset that is segregated by user.
|
|
@@ -147,7 +147,7 @@ get_val also allows to specify the index in an array.
|
|
|
147
147
|
The syntax is `"@index"`.
|
|
148
148
|
|
|
149
149
|
For instance if you want the pk of the author of the
|
|
150
|
-
third item in an array of books you can specify `"items.@
|
|
150
|
+
third item in an array of books you can specify `"items.@2.author.pk"`
|
|
151
151
|
|
|
152
152
|
Example :
|
|
153
153
|
```python
|
|
@@ -159,7 +159,7 @@ class ATestClass(TestAssertMixin, TransactionTestCase):
|
|
|
159
159
|
def a_test(self):
|
|
160
160
|
client = APIClient()
|
|
161
161
|
response = client.get('/api/books')
|
|
162
|
-
author_pk = self.get_val(response, 'items.@
|
|
162
|
+
author_pk = self.get_val(response, 'items.@2.author.pk')
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
### assertJE
|
|
@@ -176,7 +176,7 @@ class ATestClass(TestAssertMixin, TransactionTestCase):
|
|
|
176
176
|
def a_test(self):
|
|
177
177
|
client = APIClient()
|
|
178
178
|
response = client.get('/api/books')
|
|
179
|
-
self.assertJE(response, 'items.@
|
|
179
|
+
self.assertJE(response, 'items.@2.author.pk', self.author1.pk)
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
### assertNJE
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
name = django-pfx
|
|
3
|
-
description = Django PFX is a toolkit to
|
|
3
|
+
description = Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
4
4
|
long_description = file: README.md
|
|
5
5
|
long_description_content_type = text/markdown
|
|
6
6
|
project_urls =
|
|
@@ -14,6 +14,7 @@ classifiers =
|
|
|
14
14
|
Environment :: Web Environment
|
|
15
15
|
Framework :: Django
|
|
16
16
|
Framework :: Django :: 3.2
|
|
17
|
+
Framework :: Django :: 4.2
|
|
17
18
|
Intended Audience :: Developers
|
|
18
19
|
License :: OSI Approved :: BSD License
|
|
19
20
|
Operating System :: OS Independent
|
django-pfx-1.2.dev133/README.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Django PFX
|
|
2
|
-
|
|
3
|
-
![pipeline]
|
|
4
|
-
![coverage]
|
|
5
|
-
|
|
6
|
-
![logo]
|
|
7
|
-
|
|
8
|
-
Django PFX is a toolkit to build rest APIs with the Django framework.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
[logo]: https://gitlab.com/hmartinet/django-pfx/-/raw/master/img/pfx.png "PFX"
|
|
12
|
-
[pipeline]: https://gitlab.com/hmartinet/django-pfx/badges/master/pipeline.svg "Pipeline Status"
|
|
13
|
-
[coverage]: https://gitlab.com/hmartinet/django-pfx/badges/master/coverage.svg "Code Coverage"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/models/user_filtered_queryset_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/templates/registration/welcome_email.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django-pfx-1.2.dev133 → django-pfx-1.2.dev139}/pfx/pfxcore/views/parameters/subset_page_subset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|