我刚刚添加了django-hosts来为我的站点设置子域,这非常正常。下一步就是将模板中的所有常规django URL都转换为一个django-hosts。
我知道如何链接页面,但是一旦我需要在URL中添加变量,我就不确定如何为它构造代码。
正常的django URL
{% url 'golemstats:nodeinfo' node.Node_id node.Node|slugify %}
如何将其转换为django主机喜欢的URL?我尝试了以下方法:
{% host_url 'nodeinfo' host 'golemstats' 'node.Node_id' 'node.Node|slugify' %}
hosts.py
from django.conf import settings
from django_hosts import patterns, host
host_patterns = patterns('',
host(r'www', settings.ROOT_URLCONF, name='www'),
host(r'golem', 'golemstats.urls', name='golemstats'),
)
golemstats.urls
from django.urls import path
from . import views
app_name = 'golemstats'
urlpatterns = [
path('', views.index, name='index'),
path('node', views.searchNode, name='searchNode'),
path('node/<nodeid>/<node>', views.nodeinfo, name="nodeinfo"),
path('version-notifier', views.notifierIndex, name="notifier"),
path('ports', views.portScanner, name="portscanner"),
path('scoreboard', views.scoreboard, name="scoreboard"),
path('tools', views.tools, name="tools"),
path('troubleshooting', views.troubleshooting, name="troubleshooting"),
path('network', views.networkOverview, name="networkOverview"),
]
答案 0 :(得分:0)
已修复。必须在host_url
{% host_url 'nodeinfo' node.Node_id node.Node|slugify host 'golemstats' %}