2017-08-12 3 views
0

これは実際に私が作っているよりも簡単だと思いますが、djangoのドキュメントで何を検索するのか分かりません。オブジェクトのURLをDjangoに出力します

ここで私は何をする必要があります。私はスクリプトを実行するつもりです(カスタムのdjango-managementコマンドガイドを書くことを使用しています)、データベースにレコードをたくさん追加します。すべての学生データの大量インポート。これら130の新しいレコードを作成した後、それぞれのQRコードを作成する必要があります。私はいくつかのQRコードジェネレーターサイトを見つけましたが、それは地獄として遅く、大量のQRコード生成に付属するものにサインアップするために学校が支払うことはありません。問題はありません、これはPythonです。付属のバッテリー!

私はQRコードモジュールがインストールされているが、私は理解していないこと、それはオブジェクトを作成した後、私はURLを得ることができる方法です。私は望んでいるビューを知っています(相対URLは/awards/student/<student_id>/です)。私は、HTMLテンプレート言語では、その{% url 'StudentHome' student.id %}が私にそのURLを取得することを知っています。コマンドラインからそのファイルにアクセスし、それをqrcodeに渡すと、qrcodeを生成してpngファイルとして保存できますか?

答えて

2

URLを逆にするにはreverseメソッドを使用します。あなたのケースについては

reverse("url_name", args=(args1)) 

reverse("StudentHome", args=(student.id)) 

この方法を使用することができます絶対URIを取得するため。

abs_uri = request.build_absolute_uri(reverse("StudentHome", args=(student.id))) 

参考文献:docs

+0

ない私に絶対URL(www.mysite.com/awards/student/1/)または相対URL(/表彰/学生/ 1 /)与えますか? – Jonathanb

+0

それは相対的なURIのみを与えることができます。絶対Uriを構築したい場合は、要求オブジェクトが必要です。私はそれの答えを編集します –

関連する問題