Django 找不到重定向页面

标签 django django-views

嘿伙计们,我有以下代码,我正在尝试将 GoalUpdate View 重定向到 GoalPageView ,但出现以下错误:

未找到带有关键字参数 '{'kwargs': {'username': 'admin', 'goal_id': '1'}}' 的反向 'Goals.views.GoalPageView'。尝试了 1 个模式:['people/(?P[^/]+)/goals/(?P[^/]+)/\Z']

我的网址

urlpatterns = [
    path('<username>/goals/',GoalsView,name='Goals'),
    path('<username>/goals/<goal_id>/',GoalPageView,name='Goal Page'),
    path('<username>/goals/<goal_id>/update/',GoalUpdate,name='Goal Update'),
                ]

我的观点:

def GoalPageView(request,username,goal_id):

    some view code

    return render(request,'goal_page.html',context=context)



def GoalUpdate(request,username,goal_id):

    Some View Code
    
    return redirect(GoalPageView,kwargs={'username':username,'goal_id':goal_id})

最佳答案

redirect 不采用 argskwargs 而是直接使用位置参数和命名参数,因此:

def GoalUpdate(request, username, goal_id):
    # some view code …
    return redirect('Goal Page', <strong>username=username, goal_id=goal_id</strong>)

Note: Functions are normally written in snake_case, not PascalCase, therefore it is advisable to rename your function to goal_update, not GoalUpdate.

关于Django 找不到重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71184189/

相关文章:

djangorest框架csrf token 丢失或不正确

python.exe fastcgi进程意外退出

python - 如何在 django 中使用 python 获取应用程序名称

django - DRF CreateAPIView 中的条件语句

python - Django allauth 联合注册/登录 View 抛出 "global name ' get_form_class' 未定义”

python - Django 使用模板标签分割文本字段

python - 使用django的KML解析子元素

django - 想要在 Django 测试中禁用信号

django - 无法在 Django 路由器中添加 url

python - 带有附加参数的 Django redirect()