库代码,帮助编写使用tsugi库集成到学习管理系统中的python工具。
django-tsugi的Python项目详细描述
这是Django的新兴Tsugi库-https://www.tsugi.org
https://pypi.org/project/django-tsugi/
快速启动
安装
pip install django-tsugi # or pip3
将“django_tsugi”添加到已安装的_应用程序中,并为您的 在settings.py中控制服务器,如下所示:
INSTALLED_APPS = [ ... 'django_tsugi', ] # To set up Tsugi TSUGI_KEYSET = "https://dev1.tsugicloud.org/tsugi/lti/keyset-ext";
在应用程序的url.py文件中添加一行以处理启动和 告诉Tsugi在启动成功后要重定向到哪个视图:
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'} ), ]
< >< > >将其添加到基于类的视图中,它将定义
带有用户、上下文和链接的request.tsugi变量
信息:
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)
本地修改和测试
如果在本地运行django工具,在本地运行tsugi,则 可在settings.py中使用以下命令:
TSUGI_KEYSET = "http://localhost:8888/tsugi/lti/keyset-ext";
如果您正在使用django开发这个库的新版本 Tsugi应用程序,您可以使用以下命令在本地发布新版本:
python3 setup.py sdist ; pip3 install dist/*.tar.gz
发布到pypi.org
此库发布到https://pypi.org/project/django-tsugi/
您需要tween将更改推送到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
要发布全新版本,请在setup.py中更新版本,然后:
rm dist/* ; python3 setup.py sdist ; twine check dist/* twine upload dist/*
不能上载同一版本号两次。
参考文献
[1]如何编写可重用的应用程序-https://docs.djangoproject.com/en/2.2/intro/reusable-apps/
[2]打包和分发项目的教程-https://packaging.python.org/tutorials/packaging-projects/
[3]https://pypi.org/-https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives