如何修复列表视图未在 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 中显示的主要内容,如果未能解决你的问题,请参考以下文章
回收站视图未在 android studio 中显示一张卡片视图