首页 > 解决方案 > 无法将 DB 的所有行打印到 Django 模板

问题描述

我对 Django 很陌生,真的需要一些帮助。

所以,我正在制作基本的待办事项应用程序并创建了数据库,添加了一些示例数据(我可以通过管理界面看到),现在我需要将每一行打印到屏幕上。

我有以下内容,我没有收到任何错误,但它不打印。

任何人都可以建议吗?

楷模

from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Todo(models.Model):
    text = models.CharField(max_length=400)
    complete = models.BooleanField(default=False)

    def __str__(self):
        return self.text

意见

from .models import Todo
def todo(request):
    todo_list = Todo.objects.all()
    context = {'todo_list' : todo_list}
    return render(request, 'home.html', context)

主页.HTML

<ul>
        {% for todo in todo_list %}
        {{todo_list}}
        <li>{{ todo.text }}</li>
        {% endfor %}
</ul>

网址

from django.conf.urls import include, url
from django.contrib import admin
from netshock import views
from django.contrib.auth import views as auth_views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^admin/', admin.site.urls),
    url('login/', views.login_user, name='login'),
    url('logout/', views.logout_user, name='logout'),

]

设置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['/home/django/django_project/netshock/templates/authenticate'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

标签: djangopython-3.x

解决方案


在您的urls.py添加中:

url(r'todo/^$', views.todo, name='todo'),

保持你home.html的应用程序todo/templates(假设Todo模型在todo应用程序下)点击 url http://127.0.0.1:8000/todo/


推荐阅读