python - 如何处理 Django 嵌套模板标签
问题描述
如何处理模板标签 {% %} 中的变量,我需要为函数 send_mail_view() 提供参数
网址.py
urlpatterns = [
path('send_mail_view/<sender_email>/<receiver_email>/<doc>',views.send_mail_view, name='send_mail_view'),
]
mailing_app/views.py
def send_mail_view(request,sender_email,receiver_email,doc):
email=EmailMessage( 'i want to hire you Nitish ', 'please provide your resume', sender_email, [receiver_email] )
email.attach_file('mailing_app/179.pdf')
res=email.send(fail_silently=False)
success_msg="mail sent success fully"
return render(request,'mailing_app/success.html',{'success_msg':success_msg})
学生应用程序/views.py
def student_main_view(request,username):
user_obj=User.objects.filter(username=username)
pdf_student_model_obj=pdf_student_model.objects.filter(username__in=user_obj)
pdf_list=[]
for p in pdf_student_model_obj:
print("nikseva",type(p.pdf_id))
pdf_indexing_model_obj=pdf_indexing_model.objects.filter(pdf_id=str(p.pdf_id))
for x in pdf_indexing_model_obj:
pdf_list.append({'pdf_id':x.pdf_id,'pdf_title':x.pdf_title,'pdf_abstract':x.pdf_abstract,'pdf_path':x.pdf_path,'sender_email':"n@gmail.com",'receiver_email':username,})
print("pdf_list",pdf_list)
return render(request,'rnd_app/student_mainpage.html',{'pdf_list':pdf_list})
模板/mail.html
{% for z in pdf_list %}
pdf_title :{{z.pdf_title}}
pdf_abstract:{{z.pdf_abstract}}<br>
pdf_path:{{z.pdf_path}}
<a href="{% url 'mailing_app:send_mail_view' {{request.user.username}} {{z.receiver_email}} {{z.pdf_path}} %}" class="btn1 ">Send Email</a>
{% endfor %}
解决方案
当您已经在模板标签中时,您不需要变量大括号。直接引用它们:
{% url 'mailing_app:send_mail_view' request.user.username z.receiver_email z.pdf_path %}
推荐阅读
- python - 用excel中的(x,y)系列确定范德华方程中的a和b
- android - 遍历具有用户 ID 的 firebase 节点,以显示特定的子节点并将值存储在数组中
- python - 更改 matplotlib 图形的大小,同时保留视觉上吸引人的纵横比/元素比例?
- javascript - 如何使用带有 javascript 变量的 Laravel URL::asset
- ffmpeg - 使用 -to 时出现问题,将 -to 与帧速率更改结合使用
- android - 如何在列表视图中列出 Books 节点的子值?
- firebase - 如何根据颤动中的某些条件显示/隐藏按钮?
- google-sheets - Google 表格:IMPORTHTML 未获取表 10
- python - 如何连接数据框中的重复行
- conemu - 我可以在 ConEmu 中显示“粗体”字符而不是“强烈/明亮”字符吗?