2016-05-11 14 views
0

Ich habe mehrere hundert statische HTML-Seiten, mit einer Index-HTML-Seite, die ich in Django bringen muss. Ich kann den einfachsten Weg nicht herausfinden, ich weiß, dass mir etwas Einfaches fehlt. Irgendein Rat? Nichts Besonderes benötigt, nur müssen sie in einem Verzeichnis ablegen und Benutzer zu ihnen navigieren.Einbinden bestehender HTML-Seiten in Django

+3

das ist eine Aufgabe für den Webserver vor Django laufen ist. –

+0

Diese statischen HTML-Seiten werden zu Ihren Anwendungsvorlagen, Sie müssen immer noch URLs und Ansichten schreiben und dann alle Links auf diesen Seiten aktualisieren, um die URLs wiederzugeben (oder das Vorlagen-Tag zu verwenden). – Sayse

Antwort

0

Wenn es sich um statische statische Seiten handelt, die Sie nicht wieder anfassen möchten, dann würde ich Django nicht verwenden. Ich würde sie alle in ein Verzeichnis oder eine Subdomain legen und sie direkt vom Server aus bedienen (wahrscheinlich nginx, vielleicht Apache, was immer Sie verwenden). In der Regel möchten Sie nicht, dass Django statische Ressourcen bereitstellt, sondern dass der Proxyserver diese Dienste bereitstellt.

Du könntest sie nach Django bewegen und sie wie andere Django statische Assets verwalten, wie in der Managing Static Files Documentation beschrieben, aber wenn sie schon da draußen sind, dann gibt es nicht eine Menge Vorteile gegenüber dem Servieren wie oben beschrieben.

Und schließlich, wenn Sie sie vollständig in Ihre Django-Website integrieren möchten, dann sollten Sie wahrscheinlich mit the template documentation beginnen.

+0

Vielen Dank. Ich wusste, dass ich es zu kompliziert machte - ich mag diese Antwort! Danke auch für die anderen Ansätze. –

0

Sie benötigen einen Blick und eine URL für jedes HTML-Template zu erstellen, werde ich Ihnen ein einfaches Beispiel hier setzen, aber es wird dringend empfohlen, dass Sie django lesen Dokumentation oder ein Tutorial:

Zuerst Sie erstellen eine Ansicht in einer views.py Datei:

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) 

Dann müssen Sie eine uRL erstellen, die diese Ansicht in einer urls.py Datei lautet:

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"), 
) 

Last, in Ihrem zu Hause html t sagen lassen emplate Sie diese URL zuweisen zu einem Submit-Button, um es durch den Namen zu nennen gab man es auf urls.py (load_template in diesem Fall):

<html> 
    <body> 
    <div> 
     <a class="option-admin" id="id_go" href ="{% url 'yourdjangoappname:load_template' %}"> Go to template </a> 

    </body> 
</html> 
     </div> 

Wie ich sowieso gesagt, es ist besser, dass Sie die vollständig gelesen sowie Dokumentation:

https://docs.djangoproject.com/en/1.9/

Verwandte Themen