对 'create-ordercontent' 进行反转,但未找到参数 '('',)'。尝试了 1 种模式:['store/create\-ordercontent/(?P<order_id>[^/]+)$']
Reverse for 'create-ordercontent' with arguments '('',)' not found. 1 pattern(s) tried: ['store/create\\-ordercontent/(?P<order_id>[^/]+)$']
我是 Django 的新手。我正在尝试将 id 从 1st url 传递到 2nd ur.
Reverse for 'create-ordercontent' with arguments '('',)' not found. 1 pattern(s) tried: ['store/create\-ordercontent/(?P<order_id>[^/]+)$']
urls.py
path('list-ordercontent/<order_id>', OrdercontentListView.as_view(), name='list-ordercontent'),
path('create-ordercontent/<order_id>', create_ordercontent, name='create-ordercontent'),
view.py
class OrdercontentListView(ListView):
model = Ordercontent
template_name = 'store/list_ordercontent.html'
context_object_name = 'ordercontent'
def get_queryset(self):
model = Ordercontent
order = self.request.resolver_match.kwargs['order_id']
return model.objects.filter(order=order)
在 list-ordercontent.html 中,我尝试使用相同的 order_id 来传递我想要的变量,但它不正确。我想知道如何将 order_id 用于另一个 url,在我的程序中它是用于创建的 url。
<div class="breadcrumbs">
<div class="breadcrumbs-inner">
<div class="row m-0">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Dashboard</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="#">Dashboard</a></li>
<li><a href="#">Order</a></li>
<li class="active">
<a>{{ ordercontent.order.id }}</a>
<a>Content</a>
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12">
<div class="card">
<div class="card-body">
<div class="box-title float-left">
<h4>Order Content</h4>
</div>
<div class="box-title float-right">
<a href="{% url 'create-ordercontent' order_id %}">Add Product</a>
</div>
</div>
<div class="card-body--">
<div class="table-stats order-table ov-h">
<table class="table ">
<thead>
<tr>
<th class="serial">#</th>
<th>Name</th>
<th>Type</th>
<th>Supplier</th>
<th>Amount</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% if ordercontent %}
{% for ordercontent in ordercontent %}
<tr>
<td class="serial">{{ ordercontent.order.id }}</td>
<td>{{ ordercontent.product.name }}</td>
<td>{{ ordercontent.product.ptype }}</td>
<td>{{ ordercontent.product.supplier }}</td>
<td>{{ ordercontent.amount }}</td>
</tr>
{% endfor %}
{% else %}
<tr><td>No Content</td></tr>
{% endif %}
</tbody>
</table>
</div> <!-- /.table-stats -->
</div>
</div> <!-- /.card -->
</div> <!-- /.col-lg-8 -->
ListView
不会将视图接收到的关键字参数添加到上下文中,如果您希望它们在上下文中,您应该通过覆盖 get_context_data
:[=12 自己添加它们=]
class OrdercontentListView(ListView):
型号 = 订单内容
template_name = 'store/list_ordercontent.html'
context_object_name = 'ordercontent'
def get_queryset(自我):
型号 = 订单内容
order = self.kwargs['order_id'] # 不需要访问 `request.resolver_match.kwargs` 它们存在于 `self.kwargs`
return model.objects.filter(订单=订单)
def <b>get_context_data</b>(self, **kwargs):
context = super().get_context_data(**kwargs)
<b>上下文['order_id'] = self.kwargs['order_id']</b>
return 上下文
我是 Django 的新手。我正在尝试将 id 从 1st url 传递到 2nd ur.
Reverse for 'create-ordercontent' with arguments '('',)' not found. 1 pattern(s) tried: ['store/create\-ordercontent/(?P<order_id>[^/]+)$']
urls.py
path('list-ordercontent/<order_id>', OrdercontentListView.as_view(), name='list-ordercontent'),
path('create-ordercontent/<order_id>', create_ordercontent, name='create-ordercontent'),
view.py
class OrdercontentListView(ListView):
model = Ordercontent
template_name = 'store/list_ordercontent.html'
context_object_name = 'ordercontent'
def get_queryset(self):
model = Ordercontent
order = self.request.resolver_match.kwargs['order_id']
return model.objects.filter(order=order)
在 list-ordercontent.html 中,我尝试使用相同的 order_id 来传递我想要的变量,但它不正确。我想知道如何将 order_id 用于另一个 url,在我的程序中它是用于创建的 url。
<div class="breadcrumbs">
<div class="breadcrumbs-inner">
<div class="row m-0">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Dashboard</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="#">Dashboard</a></li>
<li><a href="#">Order</a></li>
<li class="active">
<a>{{ ordercontent.order.id }}</a>
<a>Content</a>
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12">
<div class="card">
<div class="card-body">
<div class="box-title float-left">
<h4>Order Content</h4>
</div>
<div class="box-title float-right">
<a href="{% url 'create-ordercontent' order_id %}">Add Product</a>
</div>
</div>
<div class="card-body--">
<div class="table-stats order-table ov-h">
<table class="table ">
<thead>
<tr>
<th class="serial">#</th>
<th>Name</th>
<th>Type</th>
<th>Supplier</th>
<th>Amount</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% if ordercontent %}
{% for ordercontent in ordercontent %}
<tr>
<td class="serial">{{ ordercontent.order.id }}</td>
<td>{{ ordercontent.product.name }}</td>
<td>{{ ordercontent.product.ptype }}</td>
<td>{{ ordercontent.product.supplier }}</td>
<td>{{ ordercontent.amount }}</td>
</tr>
{% endfor %}
{% else %}
<tr><td>No Content</td></tr>
{% endif %}
</tbody>
</table>
</div> <!-- /.table-stats -->
</div>
</div> <!-- /.card -->
</div> <!-- /.col-lg-8 -->
ListView
不会将视图接收到的关键字参数添加到上下文中,如果您希望它们在上下文中,您应该通过覆盖 get_context_data
:[=12 自己添加它们=]
class OrdercontentListView(ListView):
型号 = 订单内容
template_name = 'store/list_ordercontent.html'
context_object_name = 'ordercontent'
def get_queryset(自我):
型号 = 订单内容
order = self.kwargs['order_id'] # 不需要访问 `request.resolver_match.kwargs` 它们存在于 `self.kwargs`
return model.objects.filter(订单=订单)
def <b>get_context_data</b>(self, **kwargs):
context = super().get_context_data(**kwargs)
<b>上下文['order_id'] = self.kwargs['order_id']</b>
return 上下文