在URL和视图中过滤DJango中的字段

时间:2015-10-23 21:30:20

标签: django django-views django-urls

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

-L/usr/local/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -ltbb -lXext -lX11 -lICE -lSM -lGL -lGLU -lrt -lpthread -lm -ldl

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

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>

这是正确的方法吗(在视图和网址中)?提前谢谢。

1 个答案:

答案 0 :(得分:1)

嗯,最简单的要做的就是使用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 %}

那就是说,你的模型对我来说没有多大意义,视图中的Led Zeppelin与Deep Purple位也是如此。你能解释一下你的项目/需求吗?