【问题标题】:Django Reverse for '' not found找不到''的Django Reverse
【发布时间】:2021-08-10 12:05:30
【问题描述】:

在使用 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,但出现了上面提到的错误。当我切换到上面没有过滤器的实现时,错误仍然存​​在。

【问题讨论】:

标签: django url django-rest-framework django-views django-urls


【解决方案1】:

不知道有没有理解好,但是看不到你的观点:urls.py中的users_temp_records

尝试:

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

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多