djangofileexplorer 1.6.1
Django File Explorer
A django app to explore the host machine directory.
It will provide following features:
Allow user login
Allow to set roles for user to delete and download directories.
Allow user to upload single file.
Installation
Following command will help to install the package.
pip install django-file-explorer
Setup
Add the app to setting.py file in INSTALLED_APPS section.
INSTALLED_APPS = [
...
'explorer.apps.ExplorerConfig',
]
If logging is required then add the following information to settings.py file:
EXPLORER = {
'log_dir': MEDIA_ROOT / 'logs',
'log_file': MEDIA_ROOT / 'logs' / 'access.log'
}
log_dir: This is the path where multiple user log files will be created. Each file contain information about the single user.
log_file: Path to a file containing log information.
Following is the example of single log line.
[25/Feb/2023 12:44:43:PM] GET | 200 | <<username>> | <<action>> | <<volume>> | <<pageNumber>> | <<location>> | <<checkboxIdx>> |
Migrate the changes
python manage.py migrate
I you are managing DB separate then make following tables in database:
explorer_action
Name
Position
Data type
Length
Relation
Not NULL?
Type
id
1
bigint
PK
true
None
name
2
character varying
120
true
None
creation_date
3
timestamp with time zone
true
None
Add following actions to table:
download
delete
upload
unzip
Note: All PK are auto incremental.
explorer_volume
Name
Position
Data type
Length
Relation
Not NULL?
Type
id
1
bigint
PK
true
None
name
2
character varying
120
true
None
path
3
character varying
2048
true
None
active
4
boolean
true
None
creation_date
5
timestamp with time zone
true
None
explorer_userrole
Name
Position
Data type
Length
Relation
Not NULL?
Type
id
1
bigint
PK
true
None
creation_date
2
timestamp with time zone
true
None
user_id
3
integer
FK
true
None
volume_id
4
bigint
FK
true
None
Foreign Key Constraints
Name
Columns
Referenced Table
user_id
(user_id) -> (id)
auth_user
volume_id
(volume_id) -> (id)
explorer_volume
explorer_userrole_actions
Name
Position
Data type
Length
Relation
Not NULL?
Type
id
1
bigint
PK
true
None
userrole_id
2
bigint
FK
true
None
action_id
3
bigint
FK
true
None
Foreign Key Constraints
Name
Columns
Referenced Table
userrole_id
(userrole_id) -> (id)
explorer_userrole
action_id
(action_id) -> (id)
explorer_action
Add URL to urls.py file.
from django.urls import include
urlpatterns = [
...
path('explorer/', include('explorer.urls'), name='explorer')
]
Add volumes to database by specifying its name and path. After that define the user roles for specific volume in user roles table.
Run
Go to explorer url SERVER:PORT/explorer and explore the volumes.
Author
Tahir Rafique
Releases
Date
Version
Summary
12-Jul-23
v1.6.1
Adding local bootstrap 4.6.2 files. This will correct the wrong appearance of UI when there is no Internet connection.
4-Jul-23
v1.6.0
Adding file unzip option.
16-Jun-23
v1.5.0
Separating vscode icons from this app.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.