找不到''的Django Reverse

Django Reverse for '' not found

在使用 Django URL 时,我 运行 遇到了一个我无法理解的问题。

我将带来 2 个以类似方式实现但只有一个有效的示例。 仪表板和用户列表(仪表板不工作)

urlpatterns = [
    path('', views.home, name='home'),
    path('dashboard/', views.dashboard, name='dashboard'),
    path('users-list/', views.users_list, name='users-list'),
]

两个链接的html

<li class="sidebar-item">
   <a class="sidebar-link waves-effect waves-dark sidebar-link"   href="{% url 'dashboard' %}" aria-expanded="false">
      <i class="mdi mdi-av-timer"></i>
      <span class="hide-menu">Dashboard</span>
   </a>
</li>

<li class="sidebar-item">
    <a class="sidebar-link waves-effect waves-dark sidebar-link" href="{% url 'users-temp-records' %}"
      <i class="mdi mdi-account-multiple-outline"></i>
      <span class="hide-menu">Users</span>
    </a>
</li>  

观看次数

@login_required
def dashboard(request):
    user = request.user
    entranceRecords = None
    if user.is_staff == True:
        entranceRecords = TbEntranceRecord.objects.all().order_by("-create_time")
    else:
        entranceRecords = TbEntranceRecord.objects.filter(people_name=user.username).order_by("-create_time")
        

    page = request.GET.get('page', 1)   
    paginator = Paginator(entranceRecords, 10)

    try:
        data = paginator.page(page)
    except PageNotAnInteger:
        data = paginator.page(1)
    except EmptyPage:
        data = paginator.page(paginator.num_pages)
    context = {
        'title': 'Dashboard',
        'records': data,
    }
    return render(request, 'app/common/dashboard.html', context)



@ login_required
def users_temp_records(request):
    user = request.user
    entranceRecords = None
    if user.is_staff == True:
        entranceRecords = TbUserTemperatureRecord.objects.all().order_by("-create_time_date")

    page = request.GET.get('page', 1)
    paginator = Paginator(entranceRecords, 12)

    try:
        data = paginator.page(page)
    except PageNotAnInteger:
        data = paginator.page(1)
    except EmptyPage:
        data = paginator.page(paginator.num_pages)

    context = {
        'title': 'Users Records',
        'records': data,
    }
    return render(request, 'app/admin/users/users_temp_records.html', context)


http://127.0.0.1:8000/dashboard/

时报错Reverse for '' not found. '' is not a valid view function or pattern name.

仪表板一直在工作,直到我尝试给它一个过滤器参数

它看起来像这样,我在图像上也有一个参数 url 并且它有效,所以我尝试了同样的方法来实现仪表板参数。

urlpatterns = [
    path('', views.home, name='home'),
    path('dashboard/<str:filter>', views.dashboard, name='dashboard'),
    path('users-list/', views.users_list, name='users-list'),
    path('image/<str:image_md5>', views.image, name='image'),

]

我试过这样使用参数

href="{% url 'dashboard' 'create_time' %}"

确实转到了http://127.0.0.1:8000/dashboard/create_time,但是出现了上面提到的错误。当我切换到上面没有过滤器的实现时,错误仍然存​​在。

不知道我理解的好不好,看不到你的观点:users_temp_records in urls.py

尝试:

path('users_temp_records/', views.users_temp_records, name='users_temp_records'),