Skip to main content

A Django app providing simple rest attachment upload and download.

Project description

Django Rest Attachment

Django Free Attachment is a Django app to provide a simple attachment service independent of any other model.

Detailed documentation is in the "docs" directory.

Quick start

  1. Setup environment
mkdir django
cd django
python -m venv .venv
source .venv/bin/activate

# Create requirements.txt file
cat <<EOF > requirements.txt
django<3,>=2.2
setuptools
djangorestframework
EOF

pip install -r requirements.txt
  1. Start Project
django-admin startproject proj
  1. Add "attachment" to your INSTALLED_APPS setting like this::
    INSTALLED_APPS = [
        ...
        'rest_framework',
        'attachment',
    ]
  1. Add Media settings, if you have done this, ignore this step
MEDIA_DIR = os.path.join(BASE_DIR, "media")


MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
  1. add routers.py to pro folder (the save folder with urls.py)
# routers.py

from rest_framework import routers
from attachment.viewsets import AttachmentViewSet

router = routers.SimpleRouter()
router.register(r'attachment', AttachmentViewSet, basename='attachment')
  1. Include the attachment and api URLconf in your project urls.py like this::
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
from .routers import router

urlpatterns = [
  ....
  path('api/', include(router.urls), name='api'),
  path('attachment/', include('attachment.urls'), name='attachment'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  1. Run python manage.py migrate to create the polls models.

  2. Add superuser

python manage.py createsuperuser
python manage.py runserver
  1. Start the development server and visit http://127.0.0.1:8000/admin/

Test

  1. Visit http://127.0.0.1:8000/admin/attachment/ to upload a attachment from admin

  2. Using Postman to post a REST request:

  • add X-CSRFToken to header

  • add session id to Postman Cookies

Postman can automatically extract session from chrome browser refer Postman Doc

image

images

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-rest-attachment-0.2.1.tar.gz (410.9 kB view details)

Uploaded Source

File details

Details for the file django-rest-attachment-0.2.1.tar.gz.

File metadata

  • Download URL: django-rest-attachment-0.2.1.tar.gz
  • Upload date:
  • Size: 410.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.2

File hashes

Hashes for django-rest-attachment-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6d9c48f8d9e8d9b64e14f05b5158a855f02f13fa091f3da142abfa99994cedf9
MD5 aeca6d3fff820bf06c1f5783b26c49ca
BLAKE2b-256 21d63b85e9a4dc4e5131a6978173cc859be8c2a299a701e4b0f25c4120ca46fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page