我有url报告?id=1和报告?学生=学士。对于这两个网址,我使用相同的基本网址'报告'网址.py. 你知道吗
网址.py
from .views import Reporting
urlpatterns = [
path('', AnalyticsData.as_view()),
path('reporting', Reporting.as_view()),
path('index', index.as_view())
]
如何使用同一类视图执行不同的get方法,以便对第一个URL执行按id获取学生的方法,对第二个URL执行获取学士学生的方法。现在,我用以下方式编写代码
视图.py
class Reporting(APIView):
def get(self, request):
id = self.request.GET.get("id")
student_type = self.request.GET.get("students")
if id:
*logic*
if student_type=="bachelor":
*logic*
但我不知道这是不是正确的方法。此外,如果有多个参数,则会有许多if条件。还有别的办法吗?你知道吗
在基于类的视图中,我会有一个变量来告诉调用它时要做什么。像这样的。这个
var
变量获取从urls.py
调用它时所传递的任何内容的值,这样您就可以利用它了。你知道吗然后在我的
urls.py
中,我将使用该参数调用类并相应地处理逻辑。你知道吗然后根据
var
变量处理逻辑。 因此,如果您希望您的类在另一种情况下有不同的行为,那么您可以相应地更改var
变量,并且行为也会发生变化。您只需要更改url中的值。你知道吗因此,对于您的案例,您可以将这个
var
传递给您的视图,然后您可以使用if else
来处理get
函数。别忘了self
顺便说一句。你知道吗相关问题 更多 >
编程相关推荐