首页 > 解决方案 > 没有找到任何参数的 Django Reverse 用于“测试”。尝试了 1 种模式:['db\\/test\\/(?P[0-9]+)\\/$']

问题描述

这是一个常见的问题,但我已经梳理了一段时间,但我仍然无法解决它。尝试通过另一个页面的标签将主键传递给模型视图时,我不断收到此错误

这是尝试呈现超链接的模板。

<div class="main">
    <table id = "results_table" class = "results_table">
        {% if header %}
        <tr>
            {% for h in header %}
                <th>{{h}}</th>
            {% endfor %}
        </tr>
        {% endif %}
        {% if values %}
            {% for value in values %}
                <tr>
                    {% for v in value %}
                        <td>{{v}}</td>
                    {% for items in archive %}
                        <a href = "{% url 'db:test' items.pk %}"> Modify </a>
                        {% endfor %}
                    {% endfor %}
                </tr>
            {% endfor %}
        {% else %}
            <p>No results.</p>
        {% endif %}
        </table>

这是 urls.py

from django.urls import path
from . import views

app_name = 'db'
urlpatterns = [
    #path('', views.index, name='index'),
    path('index/', views.index, name='index'),
    path('search/', views.search, name='search'),
    path('upload/', views.upload, name='upload'),
    path('result/', views.search_result, name='result'),
    path('test/<int:items>/', views.test, name='test'),
    path('login/', views.login_user, name='login'),
    path('upload/scanfile/', views.upload, name='scanfile'),
    path('logout/', views.logout, name='logout'),
    path('drag_n_drop_test/', views.drag_n_drop_test, name='drag_n_drop_test'),
]

path('test//', views.test, name='test') 是我一直试图改变的行

这是views.py

    @login_required
def search_result(request):
    primary_keys = []
    if not request.user.has_perm('db.can_search'):
        return render(request, 'db/index.html', {"message":"You do not have the permissions to perform this task!"})
    search_type = str(request.GET['searchtype'])
    query_value = str(request.GET['query'])
    document_list = query_service.analyze_query_request(search_type, query_value, primary_keys)
    #categories = {}
    #metadata = {}
    #store_service.string_split(document_list, categories, metadata)
    header = ['archive_number', 'date_written', 'document_type', 'language']
    values = query_service.get_values(document_list, header)
    print(primary_keys)
    #body = document_list
    context = {'header': header, 'values': values, 'archive' : primary_keys}
    return render(request, 'db/result.html', context)

def test(request, items):
    template = loader.get_template('db/test.html')
    document_object = Document.objects.filter(archive_number = items).first()
    document_test_form = documentForm(instance = document_object)
    person_test_form = personForm()
    location_test_form = locationForm()
    return render(request, 'db/test.html', {'document_test_form' : document_test_form, 'person_test_form': person_test_form , 'location_test_form' : location_test_form})

这是 query_service.getValues 返回的内容

def get_values(document_list, header):
    values = []
    for document in document_list:
        v = []
        for element in header:
            v.append(document[element])
        values.append(v)
    return values

标签: pythondjangovariablesurlreverse

解决方案


推荐阅读