Django package that allows to administer in a simple way the resources of an API with Rest Framework using several modes of operation.
# ~$
sudo apt install python3;\
sudo apt install python3-pip
You have to make sure of the version of python that is installed. The version of python
used is python 3.10.10
.
You can install a python virtualenv program in two different ways.
# ~$
sudo apt install python3-venv
OR
# ~$
sudo pip3 install virtualenv
In your project root, if you have not already done so, run one of the following commands to create a virtual environment.
# ~$
python3 -m venv env
OR
# ~$
virtualenv env -p python3
# ~$
source env/bin/activate
You must install the following dependences :
# ~$
pip install -r requirements.txt
- Copy
mfs
folder and past it into your root project. - Write the following code source in
settings.py
of your Django project.
# ...
# Django guardian settings
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', # this is default
'guardian.backends.ObjectPermissionBackend',
)
- In
urls.py
file, write the following code:
# ...
from django.conf import settings
from django.conf.urls.static import static
# ...
# After urlpatterns definition ...
urlpatterns += static(settings.FSURL, document_root=settings.FSDIR);
- Execute the following django commands to make migration of the database File model :
# ~$
./manage.py makemigrations;\
./manage.py migrate
All is done !
We will see some examples of use cases in a Django project. Given an application named galery
.
- Example 1:
You can create model of image file in
galery
like following code :
from django.utils.translation import gettext_lazy as _
from django.db import models
from mfs.models import File
Now we will try to create an image uploading function in the views.py
file :
from django.shortcuts import render
from restibm.generics import CreateAPIView
from restibm.viewsets import ModelViewSet
from main.serializers import UserCreateSerializer
from main.serializers import DashboardSerializer
from main.models import User
from main.models import Dashboard
class UserCreateAPIView(CreateAPIView):
serializer_class = UserCreateSerializer
model = User
public = True
class DashboardModelViewSet(ModelViewSet):
serializer_class = DashboardSerializer
model = Dashboard