/ new_search / realme-xt-pearl-blue-64-gb / p / i / realme-xt处的MultiValueDictKeyError

问题描述

我想捕获视图的url参数。该怎么办?

views.py

def new_search(request,linkadd,text):

    serch = request.GET['linkadd']
    link = request.GET['text']
    

html

{% for post in product_names %}

    <a id="link" href="{% url 'new_search' linkadd=post.1  text=post.0  %}" value="{{ post.0 }}">{{ post.0 }}</p>


{% endfor %}

urls.py

urlpatterns = [
  url(r'^new_search(?P<linkadd>)/(?P<text>)',views.new_search,name='new_search'),]

我想从网址“ 120.0.0.0:8000/1232-23232-32-2323sdsjdhjas/redmi”中获取链接和文本 假定:1232-23232-32-2323sdsjdhjas作为链接,redmi作为文本

但是我收到这样的错误,请建议我该怎么做 MultiValueDictKeyError在/new_search/realme-xt-pearl-blue-64-gb/p/itm731360fdbd273?pid=MOBFJYBE9FHXFEFJ&lid=LSTMOBFJYBE9FHXFEFJNVQVIV&marketplace=FLIPKART&srno=s_1_1&otracker=search&fm=organic&iid=a64429b9-99a5-405b-8edb-9d94934fb991.MOBFJYBE9FHXFEFJ.SEARCH&ssid=iprr3ut7io0000001598430215812&qH = 23f6a0071022557e / Realme XT(珍珠蓝色,64 GB) 请帮助我。。谢谢!!

解决方法

我建议这样做:

views.py

def new_search(request,linkadd,text):
    linkadd = request.GET['linkadd'] # another choice is linkadd = request.GET.getlist('linkadd')
    text = request.GET['text'] # another choice is text = request.GET.getlist('text')
    context ={
       'linkadd':linkadd,'text':text
    }
    return render(request,"my_template.html",context)

my_template.html

<a id="link" href="{% url 'my_app:new_search' linkadd=linkadd  text=text %}" value="{{linkadd}}">{{text}}</a>

在这里我们认为app_name是my_app。请尝试这个。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...