gpt4 book ai didi

django - 如何开始构建 django 网站以及 django 如何构建页面?

转载 作者:行者123 更新时间:2023-12-04 18:15:37 28 4
gpt4 key购买 nike

我为我的个人网站启动了一个 django 项目来学习 django。到目前为止,我已经将我的开发环境设置为我需要的一切,并遵循 this很棒的教程来创建一些基本的数据结构和模板。现在我想开始使用我之前制作的 html 布局并开始实现它的功能。但是我很难理解如何做到这一点。

在此之前,我主要完成了 java 门户解决方案,我可以在其中启动服务器、创建一些页面、为它们设置主题,然后在任何我想要的地方添加自定义 portlet(功能/代码)。在 django 中,我用我的 html 布局创建了一个 View ,它工作正常。但是我不明白我应该如何处理页面。我是否需要为每个 url 和 View 配置创建一个单独的 View ,然后为每个页面使用相同的 html 布局,并且只在需要的地方设置不同的功能?看起来不像 django 方式,因为少即是多。我想我可以以某种方式使用 View ,有点像 portlet,以便它们成为某个页面的一部分(它本身就是一个 View ?)对吧?就像页面某个部分的投票一样。如何?

因此,例如,我希望有一个首页,其中有一个特定的“主题”(html-layout),也许还有最新的博客文章。然后是另一个名为资源的页面,其中有相同的“主题”和可下载内容的列表。自然是在布局中的某处导航以在页面之间切换。

如果有人能指出我正确的方向,我将不胜感激!

最佳答案

您可以通过使用 Django 模板继承来做到这一点。你将做一个“家”模板,并使用{% block content %}{% endblock %}定义博客帖子的位置。在您将显示博客文章的模板(这是一个单独的 HTML 文件)中,您将输入 {%extends "home.html"%}和相同的{% block content %}{% endblock %} , 和里面 {% block content %}{% endblock %} ,您将为您的博客文章添加 HTML 代码。

当 Django 加载主页时,它会查看您在其他模板中还有哪些名为“content”的 block ,并将加载其中的任何内容,在这种情况下,就是您的博客文章。

让我给你看一个小例子:

主页.html

<title>Home</title>
<head>
<style type="text/css">
.content-wrapper{
text-decoration:none;
border: 1px none;
height: 50%;
left: 0%;
position: relative;
top: 8%;
width: 100%;
height: 100%;
z-index: 0;
}
</style>
</head>
<body>
<div class="content-wrapper">
{% block content %}{% endblock %}
</div>
</body>

和 blog-posts.html
{%extends "home.html"%}
<head>PUT HERE ALL THE CSS STYLESHEETS YOU'LL BE USING AND PUT THEM ALSO IN HOME.HTML</head>
<body>
{%block content%}
HTML FOR YOUR BLOG POSTS
{%endblock%}
</body>

这样,您将不得不做单独的模板,但会做更少的代码。而且您必须将它们指向 urls.py,因为它们的行为几乎就像框架一样。

网址.py
urlpatterns = patterns('',
url(r'^blog-posts/','Mod031.views.blog-posts'),
url(r'^home/', 'Mod031.views.home', name='home'),
)

您还将有一个 View 来加载您需要的每个模板
def home (request):
return render_to_response('home.html', context_instance=RequestContext(request))

def blog-posts(request):
return render_to_response('blog-posts.html', context_instance=RequestContext(request))

如需更多信息,请阅读文档: The Django template language

关于django - 如何开始构建 django 网站以及 django 如何构建页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781280/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com