2016-01-25 3 views
1

Я хочу показать определенный шаблон на основе системной даты. Предположим, у меня есть шаблоны и модели a, b, c, d. Я хотел бы добавить контент в a, b, c, d отдельно, и я хочу, чтобы он показывал определенный шаблон, основанный на времени суток, но на той же странице html (назовите его alphabet.html).django показать шаблон на основе даты

Template a on Monday. 
Template b on Tuesday. 
Template c on Wed. 
Template d on Thursday 
but URL has to be on same html page. 
The contents/template would be shifting based on the date. 

Как это сделать? Как следует создавать представления, модели, URL-адреса?

ответ

2

Это легко, в вашем views.py вы вобще if else блок:

from django.shortcuts import render 

def alphabet_view(request): 
    if day == 'Monday': 
     return render(request, 'a.html', {..context..}) 
    elif day == 'Tuesday': 
     return render(request, 'b.html', {......}) 

view_func имеет только один URL, но вы могли бы вернуться в зависимости от того шаблона, которые вы хотите на основе логики.

Edit:

Еще раз, вы должны обратиться к Джанго док. По вашему комментарию, вы должны определить, что URL вы так:

from django.conf.urls import url 
from . import views 

urlpatterns = [ 
    url(r'^alphabet/$', views.alphabet_view, name='alphabet'), 
] 
+0

Вы должны прочитать Джанго основного учебника первым: https://docs.djangoproject.com/en/1.9/intro/tutorial03/#writing- более-просмотров. Одно определение url соответствует методу views.py, а не имени шаблона. –

+0

Я понимаю, что вы имеете в виду, но что будет определять для urls.py? – Whatsp

+0

Я отредактировал свой вопрос на основе учебника django и вашего вопроса. –

Смежные вопросы