#django #django-rest-framework #django-views #django-forms
Вопрос:
Я работаю над приложением Django, но не получаю желаемых результатов. Страница create_job не отображается после отправки формы или обновления всей страницы.
Это представление create_job_page
def create_job_page(request): current_customer = request.user.customer if not current_customer.stripe_payment_method_id: return redirect(reverse('customer:payment_method')) # return render(request, 'customer/create_job.html') # Filtering create_job = Job.objects.filter(customer=current_customer, status=Job.CREATING_STATUS).last() step1_form = forms.JobCreateStep1Form(instance=create_job) if request.method == 'POST': if request.POST.get('step') == '1': #If it's form one step1_form = forms.JobCreateStep1Form(request.POST, request.FILES) if step1_form.is_valid(): creating_job = step1_form.save(commit=False) # Adding current customer to the form creating_job.customer = current_customer creating_job.save() return redirect(reverse('customer:create_job')) return render(request, 'customer/create_job.html', { "step1_form": step1_form })
Это HTML — код
lt;bgt;Create a Joblt;/bgt; lt;div class="tab-content" id="pills-Content"gt; lt;div class="tab-pane fade" id="pills-info" role="tabpanel" aria-labelledby="pills-info-tab"gt; lt;h1gt;Item Infolt;/h1gt; lt;form method="POST" enctype="multipart/form-data"gt; lt;b class="text-secondary"gt;Item Informationlt;/bgt;lt;/brgt; lt;div class="card bg-white mt-2 mb-5"gt; lt;div class="card-body"gt; {% csrf_token %} {% bootstrap_form step1_form %} lt;/divgt; lt;/divgt; lt;input type="hidden" name="step" value="1"gt; lt;button class="btn btn-primary" type="submit"gt;Save amp; Continuelt;/buttongt; lt;/formgt; lt;/divgt;
Комментарии:
1. когда вы нажимаете f12 инструменты разработчика, какая ошибка возникает ?
2. @Ahmedaminshahin Нет ошибки со стороны клиента, вся проблема в том, что страница не перенаправляется обратно после того, как я отправлю форму — возврат(запрос, ‘customer/create_job.html’, { «шаг1_форма»: шаг1_форма })
3. @Ahmedaminshahin Я понял это, проблема была в urls.py
4. молодец, братан 🙂 продолжай в том же духе , ты разработчик python ?
5. @Ahmedaminshahin да, это так.
Ответ №1:
В django я никогда не использую reverse
, я обычно просто пишу redirect('app:url_name')
Комментарии:
1. Как я могу использовать это внутри представления?
2. возврат перенаправления(«приложение:url_name»)