gpt4 book ai didi

django - 在 URL 和 View 中过滤 DJango 中的字段

转载 作者:行者123 更新时间:2023-12-02 03:21:08 24 4
gpt4 key购买 nike

假设我有一个包含 2 个字段的模型:

class Bands(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True)
name = models.CharField(db_column='NAME')
type = models.CharField(db_column='TYPE')
...

我想做的是用一个模板列出所有的字段数据。例如:

{% block content %}

{{ field_name }}
<ul>
{% for band in bands %}
<li>{{ band }}</li>
{% endfor %}
</ul>

{% endblock %}

那么,我应该如何制作我的网址?

url(r'^band/$', views.band, name='band')

url(r'^band/(?P<band>\w+)/$', views.band, name='band')

该页面的链接将是:

<a href="{% url 'band' 'name' %}">Name</a>

在 View 中我采用这样的值:

def band(request, field):
results = Results.objects.all()
names = [n.name for n in results]
types = [t.type for t in results]

if field == 'name':
bands = names
else:
bands = types

return render(request, 'band.html', {'bands': bands, 'field_name': field})

这样做是否正确(在 View 和 url 中)?提前致谢。

最佳答案

嗯,最简单的做法是使用 DetailView .

from .models import Band

class BandDetailView(DetailView):
model = Band

urls.py 中是这样的:

from band.views import BandDetailView
url(r'^band/(?P<pk>\d+)/?$', BandDetailView.as_view(), name='band-detail')

在模板中:

{% url 'band-detail' pk=1 %}

也就是说,您的模型对我来说意义不大, View 中的 Led Zeppelin vs. Deep Purple 位也是如此。你能解释一下你的项目/需要更多吗?

关于django - 在 URL 和 View 中过滤 DJango 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33311683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com