python - 没有找到任何参数的 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
解决方案
推荐阅读
- railstutorial.org - 问:rails-tutorial 预览页面不工作
- unity3d - 是否有可能开发一个可通过 PC 和虚拟现实耳机访问的虚拟世界?
- javascript - UTC 日期转换为本地日期不起作用,Safari
- python - 用于一次梯度更新的 Tensorflow 不同的 dropout 配置
- python - 尝试用python实现KNN算法时出现TypeError
- r - 仅当特定列中的值具有相同符号时才跨重复行平均(条件)
- linux - 在 Bash 上调用命令变量
- python - Python递归记忆
- bootstrap-4 - Bootstrap 4.1 - 模式因“错误:Object.keys:参数不是对象”而失败
- android - 带有两个的 FrameLayout 仅包括正确设置第一个。为什么?