Skip to main content

File management solution for Masonite

Project description

filemanager

GitHub Workflow Status PyPI Python Version GitHub release (latest by date including pre-releases) License star Code style: black

Introduction

A simple yet powerful file management solution for your masonite application.

Features

  • Manager Server Files (Currently only supports local files)
  • Upload Files
  • Preview Files
  • Rename Files/Folders
  • Delete Files/Folders
  • Download Files
  • Move Files
  • Search Files
  • Protect Routes
  • Image Editing
  • Third Party Driver Support (S3, DigitalOcean Space, etc)
  • File Picker (Form)

Installation

pip install masonite-filemanager

Configuration

Add FileManagerProvider to your project in config/providers.py:

# config/providers.py
# ...
from filemanager.providers import FileManagerProvider

# ...
PROVIDERS = [
    # ...
    # Third Party Providers
    FileManagerProvider,
    # ...
]

Then you can publish the package resources (if needed) by doing:

python craft package:publish filemanager

Finally add following to STATICFILES section in config/filesystem.py:

# config/filesystem.py

STATICFILES = {
    # ...
    # FileManager resources
    'resources/vendor/filemanager': 'filemanager-assets/',
    "storage/framework/filesystem/filemanager": "filemanager-uploads/",
}

Usage

Once finishing configurations, you can access the file manager by using the following route:

http://localhost:8000/filemanager

If you want to use file picker then all you have to do is include then follow the following guidelines:

  1. Add style in the header of your base template:
    <link href="/filemanager-assets/picker.css" rel="stylesheet" />
    
  2. Add script before the </body> tag of your base template:
    <script src="/filemanager-assets/picker.js"></script>
    
  3. Finally, in your form you can use selector in your form in the following way:
    <div class="file-picker">
      <input type="hidden" name="j-sukai" />
    </div>
    
    or, if you want file-preview:
    <div class="file-picker has-preview">
      <input type="hidden" name="j-sukai" />
    </div>
    

The design of the file-picker is very basic so you might want to customize with your own design by modifying the stylesheet which resides in storage/vendor/filemanager directory.

License

masonite-filemanager is open-sourced software licensed under the MIT license.

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

masonite-filemanager-0.1.0.tar.gz (11.2 kB view hashes)

Uploaded Source

Built Distribution

masonite_filemanager-0.1.0-py3-none-any.whl (10.9 kB view hashes)

Uploaded Python 3

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