我有一个edit-scholarship.html,您可以在其中通过输入名称和类型来搜索奖学金,然后选择该奖学金,然后在update-scholarship.html中通过传递scholarship id。现在更新奖学金后,网址变为http://127.0.0.1:8000/admin/updatescholarship/50
50是传递给URL的奖学金ID
现在,当我尝试转到项目中的dashboard时,URL变为http://127.0.0.1:8000/admin/updatescholarship/dashboard
我不想在updatescholarship之后附加dashboard。网址应为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)
from django.shortcuts import redirect
def fn_test(request):
task here
return redirect('path_to_redirect/')