Django vs Mithril url路由

Django vs Mithril url路由,django,mithril.js,Django,Mithril.js,我正在通过米特里尔使用路由。当我通过javascript路由到mysite.com/subpage/item3时,静态文件“/static/app.bundle.js”保持加载状态,子页面html如预期的那样显示出来 m.route(document.body, "/", { "/": Home, "/subpage": Subpage, "/subpage/:focus": Subpage, "/:focus": Home }); 但是,当我从初始页面加载导航

我正在通过米特里尔使用路由。当我通过javascript路由到mysite.com/subpage/item3时,静态文件“/static/app.bundle.js”保持加载状态,子页面html如预期的那样显示出来

m.route(document.body, "/", {
    "/": Home,
    "/subpage": Subpage,
    "/subpage/:focus": Subpage,
    "/:focus": Home
});
但是,当我从初始页面加载导航到mysite.com/subpage/item3时,Django会启动并尝试从“/subpage/static/app.bundle.js”加载静态文件。这将导致404错误。我已经设置了静态URL和静态文件目录,我不明白Django为什么要更改它们

以下是我的url模式:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('<url>', views.index, name='index'),
    path('<url>/<suburl>', views.index, name='index')
]
谢谢大家!

您的
src
属性包含一个相对URL,这就是您看到的行为。这就是HTML的工作原理。要“修复”它,请将其设置为绝对值:

<script type="text/javascript" src="/static/app.bundle.js" type="module"></script>
                                    ^----add this

如何生成加载app.bundle.js的
标记?我在index.html模板文件中有一行:
刚刚为您的技术选择Django+MithrilJS投票。我喜欢它。
<script type="text/javascript" src="/static/app.bundle.js" type="module"></script>
                                    ^----add this
<script type="text/javascript" src="{% static "app.bundle.js" %}" type="module"></script>