今天的目標是要利用Django 產生QR CODE,類似下面的圖
開始我們需要先引用QR_code 的套件
在Terminal 中執行 pip install django-qr-code
接下來我們在models.py 中加上一個PersonalTask,
在models.py 中加上一個generate_qr_code的方法,是方便我們在html中透過
<a href={{personal_task.generate_qr_code }}>...</a>
的方式建立超連結
因此我們也需要在urls.py 中來解析’app:generate_qr_code’。當html 中呼叫
<a href={{personal_task.generate_qr_code }}
時,會透過PersonalTask models 的generate_qr_code方法reverse 路徑,最後呼叫views.generate_qr_code
path('generate_qr_code/<int:id>/<slug:task>', views.generate_qr_code, name='generate_qr_code'),
在views.py 的generate_qr_code方法中,利用get_current_site(request)找到host的位置,組合成一個url,並送到html中處理。
在html中透過就可以產生qr_code囉。
<img class="card-img" src="{% qr_url_from_text url %}" alt="Hello World!">
https://gist.github.com/JackyCafe/7ea3d926c53cb1d96b6769a8125ea2c6
在主urls.py 中記得加上
path('qr_code/', include('qr_code.urls', namespace="qr_code"))
,
不然就會出現