Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与#x27相反';在视图之间传递和检索参数时未找到任何参数_Python_Django_Redirect - Fatal编程技术网

Python 与#x27相反';在视图之间传递和检索参数时未找到任何参数

Python 与#x27相反';在视图之间传递和检索参数时未找到任何参数,python,django,redirect,Python,Django,Redirect,Django版本:1.10 基本上,我希望登录的用户使用自己的数据转到页面。 因此,当用户提供登录凭据时,通过传递“pk”重定向到其他页面,以便该页面仅包含与该“pk”相关的数据 我在stackoverflow中看到过其他关于“”反转的帖子,没有找到任何参数,但我不知道为什么这对我不起作用,因此非常感谢任何见解和解决方案 在主项目的URL.py中: urlpatterns = [ url(r'^admin/', admin.site.urls,name='admin'), ur

Django版本:1.10 基本上,我希望登录的用户使用自己的数据转到页面。 因此,当用户提供登录凭据时,通过传递“pk”重定向到其他页面,以便该页面仅包含与该“pk”相关的数据

我在stackoverflow中看到过其他关于“”反转的帖子,没有找到任何参数,但我不知道为什么这对我不起作用,因此非常感谢任何见解和解决方案

在主项目的URL.py中:

 urlpatterns = [
    url(r'^admin/', admin.site.urls,name='admin'),
    url(r'^basic_app/',include('basic_app.urls',namespace='basic_app')),]
我有一个名为basic app的应用程序,其中包含URL.py作为

 from django.conf.urls import url
 from basic_app import views

 app_name = 'basic_app'

 urlpatterns = [
         url(r'^login/$', views.user_login, name='user_login'),
         url(r'^class/(?P<pk>\d+)/$',views.ClassroomView,name='classroom_list'), ]
我应该在以下ClassroomView中从LoginView获得“pk”:

def ClassroomView(request,pk):

classroom_list = Classroom.objects\
                    .filter(school__user=User.objects.get(pk=request.session.get('user_id','0')))
class_dict = {'class_records': classroom_list}
return render(request, 'basic_app/classroom_list.html', context=class_dict)
但是,它说

Reverse for 'classroom_list' with no arguments not found. 1 pattern(s) tried: ['basic_app/class/(?P<pk>\\d+)/$']
未找到任何参数的“教室列表”的反向。已尝试1个模式:[“基本应用程序/类/(?P\\d+/$”] 并且,url显示以下内容,不带“pk”

我认为问题在于返回重定向()。如果我只写以下内容: 返回重定向('basic_-app:school_-list',{'pk':user.id})

它给出了以下错误:

NoReverseMatch at /basic_app/login/
Reverse for 'classroom_list' with arguments '({'pk': 2},)' not found. 1 pattern(s) tried: ['basic_app/class/(?P<pk>\\d+)/$']
NoReverseMatch at/basic\u app/login/
找不到参数为“({'pk':2},)”的“课堂列表”的反向。已尝试1个模式:[“基本应用程序/类/(?P\\d+/$”]
那么,如何通过传递参数链接到下面的url

url(r'^class/(?P<pk>\d+)/$',views.ClassroomView,name='classroom_list')
url(r'^class/(?P\d+)/$,views.ClassroomView,name='classclass\'u list')
语法是:

reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)
所以

语法是:

reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)
所以


您能用main project url.py和django版本更新您的问题吗?更重要的是,实际尝试进行反向映射的代码。感谢您的快速回复!!我已经更新了内容,所以请告诉我这里做错了什么。你是否尝试过返回重定向(reverse('school_list',kwargs={'pk':user.id})?thanx@Asher我尝试过使用kwargs,但愚蠢的我使用了返回重定向(reverse('school_list'),kwargs={'pk':user.id})在抛出错误之前,请您使用main project url.py和django版本更新您的问题好吗?更重要的是实际尝试进行反向映射的代码。感谢您的快速回复!!我已经更新了内容,所以请告诉我这里做错了什么,你有没有尝试过返回重定向(reverse('school_list',kwargs={'pk':user.id})?thanx@Asher我确实尝试过使用kwargs,但愚蠢的我以前使用过返回重定向(reverse('school_list'),kwargs={'pk':user.id}),所以它抛出了错误我们需要
反向吗(“基本应用程序:教室列表”
?因为我们试图从同一个应用程序访问url。所以
反向(“教室列表”
)就足够了?我认为当有名称空间时,必须提及它。我们需要
反向(“基本应用程序:教室列表”
”)吗?因为我们试图从同一个应用程序访问url。所以
反向(“教室列表”
够了吗?我认为当有名称空间时,必须提及它。
return redirect(reverse('basic_app:classroom_list', kwargs={'pk': user.id}))