如何修复列表视图未在 Django 中显示

Posted

技术标签:

【中文标题】如何修复列表视图未在 Django 中显示【英文标题】:How To Fix List View is not Showing in Django 【发布时间】:2020-03-09 04:19:34 【问题描述】:

如何修复列表视图在 Django 中不显示!

当我看到 html file 中没有显示数据时,我在基于类的视图中添加了列表视图

这是我的 views.py

class Buy_List_View(ListView):
    model = user_buy
    template_name = 'index.html'

这是我的 models.py

class user_buy(models.Model):
    users = models.ForeignKey(user_register_model,on_delete=models.CASCADE)
    payment_method = models.CharField(max_length=500)
    price = models.IntegerField()
    limits = models.IntegerField()

这是我的 index.html

% for buy in user_buy_list %
    <tr>
        <td><a href="#"> buy.users </a></td>
        <td> buy.payment_method </td>
        <td> buy.price </td>
        <td> buy.limits </td>
    </tr>
% endfor %

这是我的 urls.py

from . import views
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.index,name='index'),
    path('accounts/signup/', views.user_reg,name='register'),
    path('profile/<username>', views.user_profile, name='user_profile'),
    path('buy/form/seller',views.Buy_List_View.as_view(),name='buy')
]

【问题讨论】:

在您的模板设置中是否添加了 'DIRS': [os.path.join(BASE_DIR, 'templates')], 对不起,我写错了网址 为什么你的模型是小写的? 【参考方案1】:

我想在主页显示的 urls.py 中有问题,但我写了个人资料页面,这就是为什么我看不到我需要更改而不是这个

from . import views
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.index,name='index'),
    path('accounts/signup/', views.user_reg,name='register'),
    path('profile/<username>', views.user_profile, name='user_profile'),
    path('buy/form/seller',views.Buy_List_View.as_view(),name='buy')
]

到这里

from . import views
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.Buy_List_View.as_view(),name='index'),
    path('accounts/signup/', views.user_reg,name='register'),
    path('profile/<username>', views.user_profile, name='user_profile'),
]

因为我想显示在主页而不是这个页面!

【讨论】:

【参考方案2】:

views.py

class Buy_List_View(generic.ListView):
    model = user_buy
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        return context

    def get_queryset(self):
        user_buy = self.model.objects.all()
        return user_buy

您必须在模板中更改对象名称

% for buy in object_list %
    <tr>
        <td><a href="#"> buy.users </a></td>
        <td> buy.payment_method </td>
        <td> buy.price </td>
        <td> buy.limits </td>
    </tr>
% endfor %

【讨论】:

仍然没有显示任何东西

以上是关于如何修复列表视图未在 Django 中显示的主要内容,如果未能解决你的问题,请参考以下文章

Django 2.2 如何在列表视图中禁用复选框

群组未在win32列表视图中显示的原因是什么?

回收站视图未在 android studio 中显示一张卡片视图

核心数据未在表视图中获取

如何在我的 Django 应用程序的“评论”视图中修复此错误?

表视图数据未在 Alamofire 发布请求调用 swift 3 中显示