python渲染html模板_django中将views.py中的python方法传递给html模板文件

本文介绍了如何在Django中通过views.py将Python方法传递给HTML模板文件,实现数据的渲染。首先定义了ArticalType、Category和Artical的模型,然后在urls.py中设置路由。在views.py中,通过获取所有ArticalType和Category,并根据URL参数过滤Artical对象。最后,模板文件使用for循环和条件判断显示Artical的类型和类别。
摘要由CSDN通过智能技术生成

常规的模板渲染

from django.db importmodels#Create your models here.

classArticalType(models.Model):

caption= models.CharField(max_length=16)classCategory(models.Model):

caption= models.CharField(max_length=16)classArtical(models.Model):

title= models.CharField(max_length=32)

content= models.CharField(max_length=255)

category= models.ForeignKey(Category, on_delete=models.CASCADE)

artical_type= models.ForeignKey(ArticalType, on_delete=models.CASCADE)

models.py

urlpatterns =[

path('admin/', admin.site.urls),

re_path('artical-(?P\d+)-(?P\d+).html', backend.artical),

]

urls.py

from django.shortcuts importrenderfrom jax importmodelsdef artical(request, *args, **kwargs):print(kwargs)

artical_type=models.ArticalType.objects.all()

category=models.Category.objects.all()for k,v inkwargs.items():if v == '0':

artical=models.Artical.objects.all()else:

artical= models.Artical.objects.filter(**kwargs)return render(request, "artical.html",

{"artical_type": artical_type,"category": category,"artical": artical,})

views.py

Title

.tag a.w{background:#2459a2;

}

搜索条件

{% if artical_list.artical_type_id == 0 %}全部{% else %}全部{% endif %}

{% for row in artical_type %}

{% if row.id == artical_list.artical_type_id %}{{ row.caption }}{% else %}{{ row.caption }}{% endif %}

{% endfor %}

{% if artical_list.category_id == 0 %}全部{% else %}全部{% endif %}

{% for row in category %}

{% if row.id == artical_list.category_id %}{{ row.caption }}{% else %}{{ row.caption }}{% endif %}

{% endfor %}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值