2016-02-22 2 views
1

Могу ли я сохранять шаблоны в своем db и редактировать их из django-admin? Моя идея заключается в том, чтобы создать модель для шаблонов:Django - Редактировать шаблоны из django admin

class DbTemplate(models.Model): 
    css_class = models.CharField(max_length=200) 
    name = models.CharField(max_length=200) 
    content = models.TextField() 

    class Meta: 
     verbose_name = "Database Template" 
     verbose_name_plural = "Database Templates" 

    def __str__(self): 
     return self.name 

и зарегистрировать его в Джанго-администратора:

from .models import DbTemplate 

admin.site.register(DbTemplate) 

в моем urls.py установить вид по умолчанию для г «^ стр /», что загрузить правильный шаблон, возможно ли это?

Спасибо!

ответ

3

Возможно, вам понадобится render шаблонов вручную в ваших представлениях и вернуть полученный результат HttpResponse. Вот приблизительный пример (который вы должны изменить в соответствии с вашим прецедентом):

from django.template import Context, Template 
from django.http import HttpResponse 

def my_view(request): 
    ... 
    context = {'value': something, 'another_var': something_else} 
    # Here, instead of returning `render`, render the template using the context manually 
    template_content = DbTemplate.objects.get(name='my_template').content 
    template = Template(template_content) 
    return HttpResponse(template.render(Context(context))) 
+0

Спасибо, он решает мою проблему! –