问题描述
如何定义URL模式,以便可以根据需要传递尽可能多的参数给URL?我确实研究了文档和其他stackoverflow问题,但没有找到类似的东西。我需要使用它作为电子商务网站的过滤器。
我想实现以下目标:
lazyload
在我的视图函数中,我将这样定义它:
urlpatterns = [
path('test/<str:var1>-<str:var2>/<str:var3>-<str:var4>/...',views.test,name='test'),]
解决方法
您是否考虑过使用#include<stdio.h>
int main()
{
char op;
double n1,n2;
printf("enter first number");
scanf("%f",&n1);
printf("enter second number");
scanf("%f",&n2);
printf("enter operation");
scanf("%c",&op);
if (op=="+"){
printf("the sum = %f",n1+n2);
}
else if (op=="-"){
printf("the difference= %f",a-b);
}
else if (op=="*"){
printf("the product= %f",a*b);
}
else if (op=="/"){
printf("the quotient= %f",a/b);
}
return 0;
}
?
即query_params
URL:/ test /?filter = asd ....
然后通过视图中的请求访问它:
path('test',views.test,name='test')
看看是否可以解决您的问题:)
,我认为这是建立路径的错误方法,如果您想将其用作过滤器而不是在路径中使用,则应使用url参数作为获取请求。
但是如果您坚持要这样做,可以使用Regular expressions 're_path'
# urls.py
from django.urls import path,re_path
from django.conf.urls import url
from myapp import views
urlpatterns = [
re_path(r'^test/(?P<path>.*)$',name='test'),# or use url instead it's same thing
url(r'^test/(?P<path>.*)$',]