首页 > 解决方案 > 数据库中的数据未加载到 HTML 表 Django

问题描述

我想创建一个表格,列出从小型数据库(7 行,包括标题,3 列)到 HTML 表格的行。我在 Django 中工作并检查了“myapp”views.py、“myapp”.urls 和 base.html。我还检查了 myprojects 的 url 设置,没有看到任何东西。

任何帮助都会很棒。

Windows 10 Django 2.2.7 Python 3.8

我的代码如下:

我的\应用程序视图.py

def repList(request):
    all_objects_Rep=Rep.objects.all()
    context={'all_objects_Rep': all_objects}
    return render (request, 'base.html', context)

myproject\urls.py

urlpatterns = [

        path('', include('page.urls')),
        path('rep/', include('page.urls', namespace='reps')),
        path('home/', include('page.urls', namespace='home')),
        path('results/', include('page.urls', namespace='results')),
        path('admin/', admin.site.urls),

我的应用程序\urls.py

app_name = 'page'
urlpatterns = [
    path('', views.homepage_view, name='homepage_view'),
    path('Rep/', views.repList, name='repList'),
    path('userInput/', views.userInput, name ='User Input'),
    path('results/', views.results_view, name='results_view'),



myapp\base.html

    <div class ="RepList">
                {% block repList %}
            <table>
                <tr>
                    <th>District</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                </tr>

                {% for x in all_objects_Rep %}
                <tr>
                    <td>{{ x.District }}</td>
                    <td>{{ x.f_name }}</td>
                    <td>{{ x.l_name }}</td>
                </tr>
                {% endfor %}
                {% endblock %}
            </table>
                </div>```


标签: pythondjangodatabasesqlite

解决方案


您的 URL 配置不太正确 - 您应该只包含page.urls一次,而不是多次。将您的项目 URL 配置更改为:

urlpatterns = [
    path('', include('page.urls')),
    path('admin/', admin.site.urls),
]

然后,如果您访问/Rep,这是您为repList视图定义的 URL,您应该会看到正在呈现的正确内容。


推荐阅读