Как мне перенаправить на url2 после выполнения задачи на url1 в django? - PullRequest
0 голосов
/ 28 марта 2020

У меня есть редакторская стипендия. html, в которой вы можете искать стипендию, передавая имя и тип, а затем выбрать эту стипендию и отредактировать ее в update-стипендию. html, передав идентификатор стипендии от URL. Теперь после обновления стипендии, URL становится http://127.0.0.1:8000/admin/updatescholarship/50

50 - это идентификатор стипендии, переданный в URL

Теперь, когда я пытаюсь go на панель управления в В моем проекте URL становится http://127.0.0.1:8000/admin/updatescholarship/dashboard

Я не хочу, чтобы панель инструментов добавлялась после updatescholarship . URL должен быть http://127.0.0.1:8000/admin/dashboard

Вот мой вид стипендии редактирования

def admin_editscholarship(request):
    if request.method == 'POST':
        name = request.POST['sch_name']
        type = request.POST['sch_type']
        schdets = ScholarshipDetails.objects.filter(name = name,type = type)
        if schdets is not None:
            #if something exists in scholarship details, then print it
            print('Scholarship found')

    else:
        schdets = None

    return render(request,'admin-editscholarship.html',{'schdets':schdets})

Вот мой вид стипендии обновления

def admin_updatescholarship(request,pk=None):
    #can update the new data in the selectd scholarship
    if pk:
        sch = ScholarshipDetails.objects.get(pk = pk)


    if request.method == 'POST':
        form = EditScholarshipForm(request.POST,instance=sch)
        if form.is_valid():
            form.save()
            print('\nform saved')
            args = {'form' : form}

            messages.success(request,'Successfully updated')
            return render(request,'admin-editscholarship.html',args)

Вот мой urls.py

    path('admin/dashboard',views.admin_dash),
    path('admin/addscholarship',views.admin_addscholarship),
    path('admin/editscholarship',views.admin_editscholarship),
    url(r'^admin/updatescholarship/(?P<pk>\d+)$',views.admin_updatescholarship,name = 
    'updatescholarship'),
    path('admin/students',views.admin_students),
    path('admin/requests',views.admin_requests)

1 Ответ

0 голосов
/ 28 марта 2020

вы можете перенаправить на другой URL, используя django redirect

from django.shortcuts import redirect

def fn_test(request):
    task here
    return redirect('path_to_redirect/')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...