1

我的模板上有一段代码,它没有显示在我的 html 上,也没有在 Chrome 控制台上给出任何错误。我正在尝试显示一个图像列表,单击该列表会将您带到该图像的详细信息。

这是我的HTML (base.html) 的关键部分:

 <div class="container-fluid">
        <h2>Popular</h2> #only this shows up
        {% for obj in object_list %}
        <img src = "{{ obj.mpost.url}}"  width="300"><br>
        <a href='/m/{{ obj.id }}/'> {{obj.username}} </a><br/>
        {% endfor %}
    </div>

视图.py

from django.shortcuts import render,get_object_or_404
from .models import m

# Create your views here.
def home(request):
    return render(request,"base.html",{})

def m_detail(request,id=None):
    instance = get_object_or_404(m,id=id)
    context = {
        "mpost": instance.mpost,
        "instance": instance
    }
    return render(request,"m_detail.html",context)

def meme_list(request): #list items not showing
    queryset = m.objects.all()
    context = {
        "object_list": queryset,
    }
    return render(request, "base.html", context)

urls.py

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^m/(?P<id>\d+)/$', m_detail, name='detail'),#issue or not?
]

模型.py

class m(models.Model):
    username = "anonymous"
    mpost = models.ImageField(upload_to='anon_m')
    creation_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return m.username

非常感谢您的参与。:)

4

1 回答 1

2

我认为问题在于您根本没有 meme 列表的 url,因此您要么显示主视图并且需要将代码从meme_list视图移动到home视图中,要么您需要制作一个的网址meme_list(并导航到该新网址)

于 2017-01-16T09:10:32.450 回答