This is the emerging Tsugi library for Django - https://www.tsugi.org
https://pypi.org/project/django-tsugi/
Quick start
Install
pip install django-tsugi # or pip3
Add “django_tsugi” to your INSTALLED_APPS and add the keyset url for your controlling server in settings.py like this:
INSTALLED_APPS = [ ... 'django_tsugi', ] # To set up Tsugi TSUGI_KEYSET = "https://dev1.tsugicloud.org/tsugi/lti/keyset-ext";Add a line to your application’s urls.py file to handle launches and tell Tsugi which view to redirect to after the launch is successful:
from . import views from django_tsugi.views import LaunchView urlpatterns = [ path('', views.GradeView.as_view(), name='grade' ), path('launch', LaunchView.as_view(), {'success_url' : 'grade'} ), ]Add the TsugiMixin to your class based view and it will define the request.tsugi variable with the user, context, and link information:
from django.views import View from django_tsugi.mixins import TsugiMixin class GradeView(TsugiMixin, View): def get(self, request) : context = {'tsugi': request.tsugi} return render(request, 'grade/main.html', context) def post(self, request) : grade = float(request.POST.get('grade')) comment = request.POST.get('comment') retval = request.tsugi.result.gradeSend(grade, comment) context = {'tsugi': request.tsugi, 'retval' : retval} return render(request, 'grade/done.html', context)
Revising and testing locally
If you are running your Django tool locally and Tsugi locally, you can use the following in settings.py:
TSUGI_KEYSET = "http://localhost:8888/tsugi/lti/keyset-ext";
If you are working on a new version of this library with a django tsugi app, you can release a new version locally with:
python3 setup.py sdist ; pip3 install dist/*.tar.gz
Releasing to pypi.org
This library is released to https://pypi.org/project/django-tsugi/
You need twine to push changes to pypi:
pip3 install twine # If needed pip install --upgrade twine # If needed pip3 install twine==1.12.1 # If needed since later twines mess up
To release a whole new version, update the version in setup.py and then:
rm dist/* ; python3 setup.py sdist ; twine check dist/* twine upload dist/*
You cannot upload the same version number twice.
References
[1] How to write reusable apps - https://docs.djangoproject.com/en/2.2/intro/reusable-apps/
[2] Tutorial on Packaging and Distributing Projects - https://packaging.python.org/tutorials/packaging-projects/
[3] https://pypi.org/ - https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-tsugi-0.1.12.tar.gz.
File metadata
- Download URL: django-tsugi-0.1.12.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.17.3 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea8b3392092553fbb448afcb6203b0448882689d1570a3203da22a4ccc031963
|
|
| MD5 |
3b6507de2dd77f653c1ac540caf89f7a
|
|
| BLAKE2b-256 |
744d7120871e074404982856df9985271072894180936689953daceca95ae0b5
|