FTP server application that uses Django’s user authentication.
Features
FTP server integrated with Django’s user authentication system
Permission management through FTP user groups (read, write, delete, etc.)
Per-user and per-group home directory configuration
FTP account management via Django Admin
Secure communication with TLS/SSL support (FTPS)
Daemon mode for background service operation
Integration with Django Storage backends (S3, Google Cloud Storage, etc.) [1]
Passive mode and masquerade address configuration
Cross-platform support (Windows/Unix)
Management commands for FTP user/group operations (create, list, delete)
Django signals for FTP events (login, logout, file transfers, etc.)
Getting Started
Install django-ftpserver using pip.
$ pip install django-ftpserver
Optional dependencies can be installed with extras:
# For TLS/SSL support (FTPS) $ pip install django-ftpserver[tls] # For Windows service support $ pip install django-ftpserver[windows] # Multiple extras $ pip install django-ftpserver[tls,windows]
Add a line to settings.INSTALLED_APPS in your Django project.
INSTALLED_APPS = (
# ..
'django_ftpserver',
)
Run migrations.
$ python manage.py migrate
Create FTP user group.
$ python manage.py createftpusergroup my-ftp-group
Create FTP user account.
$ python manage.py createftpuseraccount <username> my-ftp-group
<username> is the django authentication username.
Run manage.py ftpserver command.
$ python manage.py ftpserver 127.0.0.1:10021
Connect with your favorite FTP client.
Requirements
Target Python version is 3.10, 3.11, 3.12, 3.13, 3.14
Django>=4.2
pyftpdlib
Optional Dependencies
pyOpenSSL - Required for TLS/SSL support (pip install django-ftpserver[tls])
pywin32 - Required for Windows service support (pip install django-ftpserver[windows])
License
This software is licensed under the MIT License.
Documentation
The latest documentation is hosted at Read The Docs.
Develop
This project is hosted at Github: https://github.com/tokibito/django-ftpserver
Metadata
Release files for django-ftpserver 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_ftpserver-1.0.0.tar.gz | 48.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_ftpserver-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.0 kB
Release files / django_ftpserver-1.0.0.tar.gz
| Download URL | django_ftpserver-1.0.0.tar.gz |
|---|---|
| Size | 48.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ede9388b143ba5dd224be9434e0ed1c7ab508dad1855d7cfd0c8f1b5902723ab
|
|
BLAKE2b-256 checksum How to use checksums |
75dfce9a34d9fa0fa6aefb8a52db16d6592023c0d161b0d077c0fee075c815f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / django_ftpserver-1.0.0-py3-none-any.whl
| Download URL | django_ftpserver-1.0.0-py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0fca49d7e69cd5fee0b2b214479f1f7719cdc712e3b17786adb3d7a91bcad447
|
|
BLAKE2b-256 checksum How to use checksums |
a78d77943f5d51932dde37c4e8d07dfa878c68b9ca91256b0ae635c89941e400
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|