Django acepta datos de front-end de las siguientes maneras:
Los datos del tipo de carácter son relativamente fáciles de obtener y el método de transferencia front-end es el siguiente:
sendData = {? "exporttype": exporttype,
"bugids": bugids,
"test": JSON.stringify({"test": "test"})
};
En el backend de Django, solo necesitas usar exporttype = request.GET.get("exporttype")
para obtener estos datos normalmente.
Nota: En Python 2.7, los datos están codificados en Unicode, por lo que si quieres usarlos, a veces necesitas convertirlos a str
Resultados de ejemplo:
Excle
Tipo de matriz
Si usa get string, es más fácil obtener los datos como tipo de matriz, el resultado es Ninguno. Vamos a utilizar este método:
bugids = request.GET.getlist("bugids[]")
De esta manera podemos obtener datos de tipo array.
Nota: Los elementos de la matriz obtenida están codificados en Unicode y deben transcodificarse cuando se utilizan
Resultados de ejemplo: a través de URL
[14/Jul/2016 11:00:41]"GET /testtools/exportbug/?exporttype= Excle&bugids%5B%5D=102&bugids%5B%5D=101&bugids%5B%5D datos capturados
[u'102', u' 101', u'100', u'99', u'98', u'97', u'96', u'95', u'94', u'93', u'92', u' 91', u'90', u'89', u'88', u'87'
Tipos de palabras
Los tipos de palabras se pueden tratar como cadenas, correspondientes. La cadena puede formatearse usando el módulo JSON
Para el front-end, pasar datos de tipo de fuente es pasar datos JSON, por lo que el método utilizado es:
"test": JSON.stringify ({. "test": "test"})
Resultados de ejemplo:
{"test": "test"}
Fuente relacionada código Método Get
El método Get es un método en wsgi
def GET(self):
# La especificación WSGI dice que "QUERY_STRING" puede no ser existe
raw_query_string = get_bytes_from_wsgi(self.environ, ' QUERY_STRING', '')
return http.QueryDict(raw_query_string, encoding=self._encoding)
El resultado final es un método http.QueryDict(raw_query_string, encoding=self._encoding)
WSGI.
QueryDict(raw_query_string,encoding=self._encoding)
El retorno final son http.string, encoding=self._encoding) datos sin procesar http, y QueryDict hereda de MultiValueDict, por lo que veremos MultiValueDict directamente. MultiValueDict
El código fuente no parece difícil.
def get(self, key, default=None):
"""
Devuelve el último valor de datos de la clave pasada. Si la clave no no existe
Si el valor es una lista vacía, se devuelve el valor predeterminado
"""
prueba:
val. = self[clave].
excepto KeyError:
devolver valor predeterminado
if val == [ ]:
devolver valor predeterminado
p>
return val
def getlist(self, key, default=None):
"""
Si la clave no existe,
Luego devuelve el valor predeterminado
"""
intenta:
return super(MultiValueDict, self).__getitem__(key)
excepto KeyError:
si el valor predeterminado es Ninguno:
return []
devolver default
def __getitem__ (self, key):
p>"""
Devuelve el último valor de datos de esta clave, o [] si es una lista vacía;
Si no se encuentra, se genera KeyError.
"""
intenta:
list_ = super(MultiValueDict, self).__getitem__(key) p>
excepto KeyError: p>
aumentar MultiValueDictKeyError(repr(key))
intenta:
devolver list_[-1]
excepto IndexError:
devolver []