【问题标题】:Django: How to create a homepage with a table list of images, clicking on image should bring up respective details of the personDjango:如何使用图片列表创建主页,单击图片应显示该人的相应详细信息
【发布时间】:2015-12-09 16:24:06
【问题描述】:

使用 Django 我如何创建一个带有图片列表的主页,点击图片应该会显示该人的相应详细信息。

基本上我有 50 名成员的小团队,我需要创建一个门户网站,主页在表格/网格中显示成员的照片,点击这些成员应该会显示他们的详细信息。

在 Django 中,我可以创建一个包含姓名、性别、地址等必要信息的模型(按照教程),我可以在管理页面中看到这些信息。 现在我需要创建一个前端来像上面所说的那样在浏览器主页中显示它,但是我现在迷路了..不知道该怎么做。

请帮忙!提供一些指导。

提前致谢, 阿南莎

【问题讨论】:

  • 请提出更准确的问题。你试过什么?你能把问题分解成更小的问题吗?

标签: django python-3.x


【解决方案1】:

你所说的模型是正确的。你可以有一个这样的模型

class Members(models.Model)
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=200)
    ....

所以前端也很简单。您只需创建两个视图,一个用于主页,另一个用于会员详细信息。

def homepage(request):
    context_dict = {}
    members = Members.objects.all().order_by('-name')
    context_dict['members'] = members
    # You can have any other context dictionary that you want to query.
    return render(request, 'homepage.html', context_dict,)

def member_detail(request, member_id):
    context_dict = {}
    try:
        member = Members.objects.get(id=member_id)
        context_dict['member'] = member
    except Members.DoesNotExist:
        return redirect('homepage')
    return render(request, 'member_details.html', context_dict,)

现在您已准备好创建主页和成员详细信息模板。由于您在两个视图中都有对成员模型的查询 您现在可以从两个视图中显示您需要的所有信息,让我们从主页开始。

homepage.html

{% for member in members %}
{{ member.name }}
<img src="{{ member.image }}" />
<a href="{% url 'member_detail' member.id %}" /> # Goes to the members detail page 
{% endfor %}      

对于member_details.html,您可以执行相同的操作。开始查询您要显示的所有字段。

您需要为 member_detail 视图创建一个 url,因为您使用 member_id 发送到该 url 以将您带到您单击的成员。

urls.py

url(r"^member/(?P<member_id>\d+)/$", views.member_detail, name="member_detail"),

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    相关资源
    最近更新 更多