django - 单击特定类别名称后如何执行搜索功能?
问题描述
我Anchor tags
在主页上有一些书籍类别名称。如果用户单击特定类别,我想向他们展示该类别的所有书籍。但我不知道将类别名称从 Anchor 标记传递url.py
到views.py
然后执行搜索功能。
home.html
<ul class="book-catagory">
<li class="list-item">
<a href="{% url 'home' %}">Philosophy</a>
</li>
<li class="list-item">
<a href="{% url 'home' %}">Litereture</a>
</li>
<li class="list-item">
<a href="{% url 'home' %}">Computer Science</a>
</li>
<li class="list-item">
<a href="{% url 'home' %}">Electrical</a>
</li>
</ul>
path in url.py
path('',views.home, name='home')
views.py
def home(request):
if request.method == 'POST':
searchName = request.POST.get('searchBook')
if not searchName :
searchName = ""
context={
'data': Book.objects.filter(bookname__contains=searchName)
}
return render(request, 'library_site/home.html',context)
else:
context={
'data': Book.objects.all()
}
return render(request, 'library_site/home.html',context)
解决方案
视图.py
def Book1(请求):类别=['1']
books= Product.objects.filter(category=category)
context = {'books':books}
return render(request, 'store/store.html', context)
网址.py
网址模式 = [
path('book1/', views.Book1, name='book1')
]
models.py 从多选字段导入 MultiSelectField
类 Book(models.Model): MY_CHOICES = ((1, 'book1'), (2, 'book2'),
)
category = MultiSelectField(choices=MY_CHOICES,
max_choices=4,
max_length=30,null=True,blank=True)
推荐阅读
- wordpress - 什么是在用户配置文件中创建了一个新的自定义字段?
- python - 如何将变量声明为参数并打印所需的子目录?
- javascript - 为什么我收到错误:网络错误 - 使用 axio.get?JSONP
- javascript - 如何在 ReactJS 中强制更新状态
- postgresql - 如何使用 pyodbc 将表从 MS Access 迁移到 Postgres?
- typescript - 事件溯源和 cqrs 与 eventstore db
- laravel - 产品导入 Laravel
- sumo - 相扑路由器找不到路线
- python - Python:NumPy 除以总和或将其替换为另一个
- c++ - SSL 不会被 libwebsockets 初始化:没有 LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT