【问题标题】:Query with Django doesn't work用 Django 查询不起作用
【发布时间】:2018-08-11 21:52:44
【问题描述】:

我是 Django 和 Python 的新手。这是我在这里的第一篇文章!:

我一直试图在我用 Django 制作的一些网站上“打印”我用 HeidySQL 制作的数据库中的一些对象。

Django 内部的应用程序称为用户。所以 127.0.0.1: 8000/users,在这里面我在 127.0.0.1:8000/users/login 中有另一个页面加载正常。

我成功地将这个数据库与 Django 同步,我什至设法在 Django shell 中看到了一些行,这就是为什么我得出的结论似乎一切都连接良好。

这个 login.html 文件 atm 有这个:

{% block content %}
<h1>{{ allcharacters_query }} </h1>

</body>

{% endblock %} 

问题是它不显示我的 characters_list 的名称。

这是我的views.py:

from django.http import HttpResponse
from django.shortcuts import render
from users.models import Characters
from django.template.response import TemplateResponse

def index (request):
    return render(request,'users/home.html')

def return_charnames (request):
    allcharacters_query = Characters.objects.all()
    return render(request, 'users/login.html',{"allcharacters_query": 
    allcharacters_query})

这是我的 urls.py 文件:

from django.conf.urls import url, include, patterns
from .import views
from django.contrib.auth.views import login

urlpatterns = [
    url(r'^$', views.index,name='index'),
    url(r'^login/$',login,{'template_name': 'users/login.html' })

]

我真的不知道如何解决这个问题。我已经阅读了 Django 官方网站上的大量文档并观看了很多视频,但是,我被困在这里。 谢谢大家!

【问题讨论】:

  • 什么是characters_list 。它来自哪里?
  • 嗯,这还没有完成,所以忽略循环部分,我现在只想显示

    {{ allcharacters_query }}

    部分。
  • 等等,要渲染return_charnames的url模式在哪里?您正在为/login/ 使用 django 的登录视图
  • 我不知道.. 你的意思,对不起
  • @Aranu Espin,登录的 url 模式不应该像 url(r'^login/$',views.return_charnames) 吗?

标签: python django


【解决方案1】:

如果您要覆盖登录方法,则必须使用您的视图渲染而不是 django 的视图进行登录。

 url(r'^login/$',views.return_charnames) 

【讨论】:

    【解决方案2】:

    您应该将 return_charnames 添加到 urls.py 以在正确的 url 中显示 html 内容。

    【讨论】:

      【解决方案3】:

      替换

      {% for lista in characters_list %}
      

      作者:

      {% for lista in allcharacters_query %}
      

      characters_list 在您的模板中不存在。

      并且在您的 url 文件中没有 URL 调用您的视图 return_charnames

      【讨论】:

      • 你好,我刚做了,还是不行。 Atm Id 建议忽略循环部分,只显示

        {{ allcharacters_query }}

        部分
      • 问题出在你的网址,登录只是调用你的索引视图而不是return_charnames
      猜你喜欢
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2011-06-18
      相关资源
      最近更新 更多