Форум сайта python.su
Есть базовый ХТМЛ:
<!DOCTYPE html> <html> <head> <title>werwffw</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> {% block text %} один {% endblock %} </body> </html>
{% extends "templates/base.html" %} {% block text %} два {% endblock %}
# -*- coding:utf-8 -*- from django.conf.urls import * from mysite.views import koren from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', (r'^$', koren), (r'^admin/', include(admin.site.urls)), )
from django.shortcuts import render_to_response from django.http import HttpResponse, Http404 from django.template import RequestContext def koren(request): return render_to_response('base.html')
Отредактировано legotin (Фев. 19, 2015 18:28:41)
Офлайн
def koren(request): return render_to_response('child_template.html') # <-- тут дочерний шаблон
Офлайн
botinagСпасибо!
def koren(request): return render_to_response('child_template.html', 'child_template_2')
Офлайн
А какая логика? зачем необходимо два шаблона?
Офлайн
ajib6eptОбъеденить форму и вывод из бд на одной странице
А какая логика? зачем необходимо два шаблона?
# -*- coding:utf-8 -*- from django.template import RequestContext from django.core.context_processors import csrf from django.shortcuts import render_to_response from django.http import HttpResponse, Http404 from mysite.forms import VvodForm from mysite.models import Vvod, Vivod import datetime def vvodfun(request): c = {} if request.method == 'POST': form = VvodForm(request.POST) c.update(csrf(request)) if form.is_valid(): form.save() else: form = VvodForm() c = RequestContext(request, {'form': form}) return render_to_response('form_vvoda.html', c) def vivodfun(request): vivod_list = Vivod.objects.all() return render_to_response('vivod.html', {'vivod_list': vivod_list})
from django.db import models class Vvod(models.Model): primervvod = models.CharField(max_length=30) def __unicode__(self): return self.primervvod class Vivod(models.Model): primervivod = models.CharField(max_length=30) def __unicode__(self): return self.primervivod
from django.forms import ModelForm from mysite.models import Vvod class VvodForm(ModelForm): class Meta: model = Vvod fields = ['primervvod']
from django.conf.urls import * from mysite.views import vvodfun, koren, vivodfun from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', (r'^$', koren), (r'^admin/', include(admin.site.urls)), (r'^vvod/$', vvodfun), (r'^vivod/$', vivodfun), )
<!DOCTYPE html> <html> <head> <title>werwffw</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> {% block content %} {% endblock%} {% block form %} {% endblock %} </body> </html>
{% extends "base.html" %} {% block content%} {% for v in vivod_list %} <div>{{ v }}</div> {% endfor %} {% endblock %}
{% extends "base.html" %} {% block form %} <form action="" method="post"> {% csrf_token %} {{ form }} <input type="submit" value="Отправить"> </form> {% endblock %}
Отредактировано legotin (Фев. 19, 2015 21:14:32)
Офлайн
Надо контекст vvodfun расширить и добавить в него Vivod.objects.all()
Советую пройти учебник http://djbook.ru/rel1.7/intro/tutorial01.html и понимание придет, что и как.
Офлайн
ajib6eptТолсто.
Советую пройти учебник http://djbook.ru/rel1.7/intro/tutorial01.html и понимание придет, что и как.
Офлайн