2017-01-12 9 views
0

Я хотел бы иметь как контактную форму, форму информационного бюллетеня, так и слайдер фотографий/portofolio в index.html. Все втягивается только на эту страницу.Django: Как включить несколько видов/классов в один и тот же URL?

Правильно ли я предполагаю, что это имеет какое-то отношение к «диспетчеру URL» в документации? И может кто-то, пожалуйста, помогите мне с некоторыми примерами о том, как указать все на один и тот же URL-адрес?

Хотите, чтобы все было перенаправлено обратно в индекс, когда это было сделано, после отправки электронной почты после регистрации на рассылку новостей и так далее. Просто чтобы лучше объяснить, что я на самом деле имею в виду здесь, поскольку у меня нет знаний, чтобы сделать это в правильной терминологии.

Заранее благодарим за помощь, которую я могу получить.

+0

Нет, это не имеет никакого отношения к диспетчеру URL. URL-адрес может указывать только на одно представление. –

+0

Хорошо, спасибо. Но как я мог включить более одного класса или приложения на один и тот же URL-адрес? Возможно, я неправильно понимаю концепцию. Но возможно, чего я хочу? – Lothe

ответ

0

В качестве возможного решения вы можете создать индексную страницу с несколькими формами. Каждая форма будет перенаправлять на пост к нему свой взгляд, например:

Первая форма:

<form action="{% url 'myapp:index_one' %}" enctype="multipart/form-data" method="post"> 

Вторая форма:

<form action="{% url 'myapp:index_two' %}" enctype="multipart/form-data" method="post"> 

В каждом просмотра вы создаете все формы и передать их index.html

def index_one(): 
    indexForm1 = index_form1() 
    indexForm2 = index_form2() 

    if request.POST: 
     indexForm = index_form1(request.POST, request.FILES) 
     //process first form here 

    //load index.html and pass context with forms 

Во втором окне вы сделать то же самое, но на POST вы обрабатываете другую форму:

def index_two(): 
    indexForm1 = index_form1() 
    indexForm2 = index_form2() 

    if request.POST: 
     indexForm2 = index_form2(request.POST, request.FILES) 
     //process second form here 

    //load index.html and pass context with forms 

У меня есть такое решение на производстве, и оно отлично работает.