django - 如何访问 Django URL 参数// 在 HTML 模板中?
问题描述
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('Homepage.urls')),
url(r'^RepairLog/', include('RepairLog.urls')),
url(r'^RepairLog/DMRView/', TemplateView.as_view(template_name="RepairLog/DMRView.html"),name="dmr view"),
url(r'^RepairLog/DMRtab/', TemplateView.as_view(template_name="RepairLog/DMRtab.html"),name="dmrtab"),
url(r'^RepairLog/DMRwork/', TemplateView.as_view(template_name="RepairLog/DMRwork.html"),name="dmrwork"),
url(r'^Inventory/', include('Inventory.urls')),
url(r'^Inventory/inventory/<barcodething>/', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
url(r'^Inventory/inventory/', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
url(r'^Inventory/createitem/', TemplateView.as_view(template_name="Inventory/createItem.html"),name="createitem"),
url(r'^Inventory/manageitem/', TemplateView.as_view(template_name="Inventory/manageItem.html"),name="manageitem"),
url('accounts/', include('django.contrib.auth.urls')),] ##Necessary to login validation
我正在尝试访问我的inventory.html 模板中的barcodething。我已经尝试过{{barcodething}}
,但这不起作用。我使用的 URLhttp://127.0.0.1:8000/Inventory/inventory/123456789/
应该通过barcodething=123456789
如果我删除url(r'^Inventory/inventory/', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
或更改为:
url(r'^Inventory/inventory/**$**', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
然后意外出现此错误,这可能有助于确定根本原因:
`
Using the URLconf defined in MT.urls, Django tried these URL patterns, in this order:
^admin/
^ ^homepage/ [name='homepage']
^RepairLog/
^RepairLog/DMRView/ [name='dmr view']
^RepairLog/DMRtab/ [name='dmrtab']
^RepairLog/DMRwork/ [name='dmrwork']
^Inventory/ ^items/$ [name='item-list']
^Inventory/ ^items\.(?P<format>[a-z0-9]+)/?$ [name='item-list']
^Inventory/ ^items/(?P<pk>[^/.]+)/$ [name='item-detail']
^Inventory/ ^items/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='item-detail']
^Inventory/ ^itemreorder/$ [name='item-list']
^Inventory/ ^itemreorder\.(?P<format>[a-z0-9]+)/?$ [name='item-list']
^Inventory/ ^itemreorder/(?P<pk>[^/.]+)/$ [name='item-detail']
^Inventory/ ^itemreorder/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='item-detail']
^Inventory/ ^$ [name='api-root']
^Inventory/ ^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
^Inventory/inventory/<barcodething>/$ [name='inventory']
^Inventory/createitem/ [name='createitem']
^Inventory/manageitem/ [name='manageitem']
accounts/
The current path, Inventory/inventory/1/, didn't match any of these.`
解决方案:改变
url(r'^Inventory/inventory/<barcodething>/', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
至:
url(r'^Inventory/inventory/(?P<barcodething>[\w-]+)/', TemplateView.as_view(template_name="Inventory/inventory.html"),name="inventory"),
解决方案
推荐阅读
- html - 在数字输入中显示带 2 位小数的数字
- apache - 使用 apache 部署 Django 频道 - 没有名为“频道”的模块
- arrays - 从引导程序修复模态(仅删除第一行)问题
- javascript - 有没有办法使用 CSS、jQuery 或 JavaScript 更改 setCustomValidity 的默认图标和文本格式?
- json - 如何以适当的大小压缩 JSON 文件?
- c - 如何使用预处理指令#define 定义新的头文件?
- javascript - ReactJS 和分页中的 useState 问题
- python-3.x - 无法关闭顶级窗口 tkinter
- python - 如果匹配一个键,则删除整个字典
- xml - 使用 PowerShell 编辑任务序列 XML