我是网络开发新手,正在为我的游艇俱乐部开发一个网站。因为我们需要能够拥有帐户和登录用户(成员(member)、日历、民意调查等)...我们决定使用 Django,因为它被认为相对易于使用,而且我熟悉 Python。
在我们的index.html中,我们编写了静态html来拥有一个菜单系统,该系统根据用户是否已在Django中通过身份验证来显示内容。我遇到的问题是菜单会按预期工作,除非我们离开它。菜单不再显示,它应该显示在用户访问的所有页面中。
当我进行谷歌搜索时,我已将其放入index.html链接到的页面之一,有人建议这应该有效,但事实并非如此。
<script src="http://code.jquery.com/jquery.min.js"></script>
<script>
$.get("/", function(data){
$("#msa_TopNavbar").replaceWith(data);
});
</script>
我完全不知道如何实现这个功能。我考虑过在我的项目中创建每个页面一个 Django 应用程序,即使它只是一个静态页面。我还认为,也许index.html应该只是一个模板,所有静态页面都继承自它以包含菜单。
我认识到这对于单个 stackoverflow 问题来说可能是一个大问题,但我不知道该问题是否与 Django 相关,或者是 HTML/javascript 问题。
是的,我已经遵循了 Django 的教程,但它们不适合解决此类问题。
最佳答案
您正在做大量额外工作。您可以只使用 Django 的模板系统,而不是使用 jQuery 调用来获取 html 数据。
在 html 页面上:
{% include 'header.html' %}
... rest of the page here
{% include 'footer.html' %}
然后在 header.html 上放置导航栏 html 数据。通常,您会为 header.html
和 footer.html
创建一个文件,并在这些文件上放置每个页面所需的所有脚本/样式表链接,然后而不是在每个页面的顶部输入相同的 html 数据,您只需 {% include header.html' %}
您可能需要阅读 Django 的 templates 。有时与他们合作可能有点困难。
希望有帮助。
关于javascript - 将 Django 与大多数静态页面结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54992993/