我遵循本教程application/,但当试图使用path方法将pk从html传递到url时,会得到Templatesyntax。
在我所读到的关于这个错误的文章中,这与大括号和引号有关,但在本例中,我无法找出语法的确切问题。
这就是listview.html
{% for vehicle_list_load in vehicle_list_loads %}
<tr>
<td>{{vehicle_list_load.vehicle_num}}</td>
<td>{{vehicle_list_load.Driver_name}}</td>
<td>{{vehicle_list_load.BusinessUnit}}</td>
<td>{{vehicle_list_load.CheckinTime}}</td>
<td>{{vehicle_list_load.Type}}</td>
<td>
<a href= "{% url 'vehicle_movement:checkoutview' pk = vehicle_list_load.pk %}" class = "glyphicon glyphicon-pencil" aria-hidden ="true" > Edit</a>
</td>
</tr>
{% endfor %}我是vehicle_movements urls.py
from django.urls import path
from vehicle_movement import views
app_name = 'vehicle_movement'
urlpatterns = [
path('checkoutview/<int:pk>/',views.checkout, name = 'checkoutview'),
]这是主要的urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(('vehicle_movement.urls','vehicle_movement'),namespace = 'vehicle_movement')),
]这就是我们的观点
def listView(request):
vehicle_list_loads = list(Checkin.objects.all().filter(Type ='Loading'))
vehicle_list_unloads = list(Checkin.objects.all().filter(Type ='Unloading'))
current_time = datetime.utcnow().replace(tzinfo=utc)
diff = current_time
return render(request,'vehicle_movement/listView.html',
{'vehicle_list_loads':vehicle_list_loads,'vehicle_list_unloads':vehicle_list_unloads,'diff':diff})单击“编辑”时,需要打开此视图
def checkout(request,pk):
post = get_object_or_404(Checkin, pk= pk)
return render(request,'vehicle_movement/checkout.html',{'post':post})发布于 2019-09-01 05:27:10
您的urls.py似乎已经安装好了,我认为它不适合您的原因是您在参数周围有额外的空间。在模板中传递参数的正确方法如下:
{% url 'vehicle_movement:checkoutview' pk=vehicle_list_load.pk %}
https://stackoverflow.com/questions/57743310
复制相似问题