Django - 无法在页面上显示值

如何解决Django - 无法在页面上显示值

我无法在主页上显示来自数据库的值。我无法弄清楚我做错了什么。以下是我的html

HTML

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" async></script>
    </head>

    <div class="container">
        {% for manhour in manhours %}
            <div class="article-Metadata">
              <a class="mr-2" href="#">{{ manhour.station }}</a>
              <small class="text-muted">{{ manhour.date|date:"F d,Y" }}</small>
            </div>
            <h2><a class="article-title" href="{% url 'manhour-detail' manhour.id %}">{{ manhour.station }}</a></h2>
        {% endfor %}
    </div>
    <div class="user_panel">
                <a href="/logout">logout</a>
    </div>
    <div class="user_panel">
                <a href="/manhour/new">Upload</a>
    </div>

</html>

view.py

# Create your views here.
from django.shortcuts import render,redirect
from django.contrib.auth.mixins import LoginrequiredMixin,UserPassesTestMixin
from django.views.generic import (
    ListView,DetailView,CreateView,UpdateView,DeleteView
)
from .form import InputForm
from manhour.models import ManHour 
from django.contrib.auth.forms import UserCreationForm,AuthenticationForm
from django.contrib import messages
from django.contrib.auth import login,logout,authenticate
from django.urls import reverse


def login_request(request):
    if request.method == 'POST':
        form = AuthenticationForm(request=request,data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username,password=password)
            if user is not None:
                login(request,user)
                messages.info(request,f"You are Now logged in as {username}")
                return redirect('manhour-home')
            else:
                messages.error(request,"Invalid username or password.")
        else:
            messages.error(request,"Invalid username or password.")
    else:
        form = AuthenticationForm()
    return render(request = request,template_name = "manhour/login.html",context={"form":form})


class PostListView(LoginrequiredMixin,ListView):
    model = ManHour
    template_name = 'manhour/home.html'  # <app>/<model>_<viewtype>.html
    context_object_name = 'manhour'
    # ordering = ['-date']


class PostDetailView(LoginrequiredMixin,DetailView):
    model = ManHour

urls.py

from django.contrib import admin
from django.urls import path
# from manhour.views import login_request
from manhour.views import (
    PostListView,PostDetailView,PostCreateView,PostUpdateView,login_request
)
from django.contrib.auth.views import logoutView

urlpatterns = [
    path('admin/',admin.site.urls),path('login/',login_request,name='login'),path('',path('manhour/',PostListView.as_view(),name='manhour-home'),path("logout/",logoutView.as_view(),name="logout"),path('manhour/new/',PostCreateView.as_view(),name='manhour-create'),path('manhour/<int:pk>/',PostDetailView.as_view(),name='manhour-detail'),path('manhour/<int:pk>/update/',PostUpdateView.as_view(),name='manhour-update'),]

谁能指出为什么我不能在我的 manhour-home 页面上列出所有值?在主页上,我可以看到运行正常的 logoutupload 按钮。但是我无法在主页上查看数据库中的所有对象。

更新 我已将以下内容添加views.py

def home(request):
    context = {
        'manhour': ManHour.objects.all()
    }
    return render(request,'manhour/home.html',context)

解决方法

您尚未定义需要在视图中显示的内容。您可以为视图定义 queryset 属性,也可以定义 get_queryset() 方法。

,

您的上下文对象名称错误,在视图中您使用的是“工时”,而在您的主页模板中您使用的是“工时”。

所以,我认为这应该解决它。

def home(request):
    context = {
        'manhours': ManHour.objects.all()
    }
    return render(request,'manhour/home.html',context)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?