我是网络开发的新手,正在为我的游艇俱乐部创建一个网站。因为我们需要具有成为会员的帐户和登录用户,拥有日历,民意调查等的能力……我们决定选择Django,因为它被吹捧为相对易于使用,并且我对Python熟悉。
在我们的index.html中,我们编写了静态html以具有一个菜单系统,该菜单系统基于用户是否已在Django中进行身份验证来显示内容。我遇到的问题是,除非我们离开菜单,否则菜单将按预期工作。菜单将不再显示,而应该在用户访问的所有页面中显示。
我将其放置在我进行Google搜索时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的教程,但是它们并不适合解决此类问题。
答案 0 :(得分:1)
您正在做很多的额外工作。除了使用jQuery调用获取html数据外,您还可以使用Django的模板系统。
在html页面上:
decLte : (n : Nat) -> (m : Nat) -> Dec (LTE n m)
decLte Z _ = Yes LTEZero
decLte (S _) Z = No (\x => case x of LTEZero impossible ; LTESucc _ impossible)
decLte (S n) (S m) with (decLte n m)
| Yes ltePrf = Yes (LTESucc ltePrf)
| No lteContra = No (\(LTESucc p) => lteContra p)
data NatRange : Type where
In : (l: Nat) -> (u: Nat) -> {auto yep : decLte l u = Yes _} -> NatRange
natRangeEx1 : NatRange
natRangeEx1 = In 500 2100
然后在header.html上放置导航栏html数据。通常,您将为{% include 'header.html' %}
... rest of the page here
{% include 'footer.html' %}
和header.html
创建一个文件,并在这些文件上放置每个页面所需的所有脚本/样式表链接,而不是在每个页面的顶部键入相同的html数据。页面上,您只需footer.html
您可能需要阅读Django的templates。有时,使用它们可能会有些困难。
希望有帮助。