我有几百个静态html页面,带有一个索引html页面,我需要将它带入Django。我无法弄清楚最简单的方法,我知道我错过了一些简单的事情。有什么建议? 没有什么特别需要,只需要将它们转储到目录中并允许用户导航到它们。
答案 0 :(得分:0)
如果这些是您不打算再次触摸的旧版静态页面,那么我会将django从中删除。我将它们全部放在目录或子域中并直接从服务器提供它们(可能是nginx,也许是apache,无论你使用什么)。作为一般规则,您不希望Django提供静态资产,您希望代理服务器为它们提供服务。
您可以将它们移动到Django并像其他Django静态资产一样管理它们,如Managing Static Files Documentation中所述,但是如果它们已经存在,那么就像将它们作为服务一样没有很多优势概述如上。
最后,如果您希望将它们完全集成到Django站点中,那么您应该从the template documentation开始。
答案 1 :(得分:0)
你需要为每个html模板创建一个视图和一个url,我将在这里给你一个简单的例子,但强烈建议你阅读django文档或教程:
首先,在views.py文件中创建一个视图:
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.views.generic import View
class LoadTemplateView(View):
template_name = ['thenameofyourdjangoapp/yourtemplatename.html']
#You put any code you may need here
def get(self, request, *args, **kwargs):
return render(request, self.template_name)
然后,您必须创建一个在urls.py文件中读取该视图的URL:
from django.conf.urls import patterns, url
#Here you import from views the view you created
from .views import LoadTemplateView
urlpatterns = patterns(
url(r'^myurl/$', LoadTemplateView.as_view(), name="load_template"),
)
最后,在您说的主页html模板中,您将此网址分配给提交按钮,以便通过您在urls.py上给出的名称来调用它(在这种情况下为load_template):
<html>
<body>
<div>
<a class="option-admin" id="id_go" href ="{% url 'yourdjangoappname:load_template' %}"> Go to template </a>
</body>
</html>
</div>
正如我所说,最好还是阅读完整的文档: