gpt4 book ai didi

python - 函数'对象没有属性'对象

转载 作者:行者123 更新时间:2023-12-01 06:57:00 25 4
gpt4 key购买 nike

我正在尝试根据我正在学习的教程循环访问我的数据库,但是当我进入我的“列表”应用程序页面时,我得到 Error: AttributeError at /listings/ - 'function' object has no attribute 'objects'

我已经尝试将变量命名为其他名称,这样它就不会与模型共享名称,但无论我做什么。我仍然收到错误

这就是我来自列表应用程序的views.py

from django.shortcuts import render
from listings.models import listing
# Create your views here.


def index(request):
listings = listing.objects.all()

context = {
'patients' : listings
}
return render(request, 'listings/listings.html')

def listing(request):
return render(request, 'listings/listing.html')

这是我的 urls.py

from django.urls import path 

from .import views

urlpatterns = [
path('', views.index, name ='listings'),
path('<int:listing_id>', views.listing, name ='listing'),

这里我循环遍历数据并将其输入给定的格式

 {% if listings %}
{% for listing in listings %}
<div class="col-md-6 col-lg-4 mb-4">
<div class="card listing-preview">
<div class="card-body">
<div class="listing-heading text-center">
<h4 class="text-primary">Jane Doe</h4>
<p>
<i class="fas fa-map-marker text-secondary"></i> Bishopstown Co,Cork</p>
</div>
<hr>
<div class="row py-2 text-secondary">
<div class="col-6">
<i class="fas fa-asterisk"> Risk:</i> Low</div>
</div>
<hr>
<div class="row text-secondary pb-2">
<div class="col-6">
<i class="fas fa-clock"></i> 2 days ago</div>
</div>
<hr>
<a href="listing.html" class="btn btn-primary btn-block">More Info</a>
</div>
</div>
</div>
{% endfor %}
{% else %}
<div class="col-md-12">
<p>No Patients</p>
</div>
{% endif %}

我希望看到数据库中的一个条目,但我得到的是 Error: AttributeError at /listings/ - 'function' object has no attribute 'objects'request <WSGIRequest: GET '/listings/'>

最佳答案

您定义了一个名为 listing 的函数,因为它是在导入之后定义的,因此它将采用该函数。事实上,我们看到:

from listings.models import <s>listing</s>
# Create your views here.


def index(request):
listings = <b>listing</b>.objects.all()

context = {
'patients' : listings
}
return render(request, 'listings/listings.html')

def <b>listing</b>(request):
return render(request, 'listings/listing.html')

可以通过本地导入来解决问题:

# Create your views here.


def index(request):
from listings.models import <b>listing</b>
listings = <b>listing</b>.objects.all()

context = {
'patients' : listings
}
return render(request, 'listings/listings.html')

def listing(request):
return render(request, 'listings/listing.html')

但是强烈建议对 Django 模型(以及一般类)使用Perl Case。因此,您可能应该将您的 listing 模型重命名为 Listing

关于python - 函数'对象没有属性'对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58773536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com