0
votes

NoReverseMatch à / v2 / search / SARS_CoV_2 / GID1716

Je développe une application django dans laquelle j'essaye d'envoyer une valeur de la variable au backend en cliquant sur un bouton via javascript.

code javascript:

NoReverseMatch at /v2/search/SARS_CoV_2/GID1716
Reverse for 'newinteractors_intnet' with arguments '('GID1716', '')' not found. 1 pattern(s) tried: ['v2/dataJson/newinteractors_intnet/(?P<geneId>[^/]+)/(?P<IUPredscorethreshold>[^/]+)$']
Exception Value:    
Reverse for 'newinteractors_intnet' with arguments '('GID1716', '')' not found. 1 pattern(s) tried: ['v2/dataJson/newinteractors_intnet/(?P<geneId>[^/]+)/(?P<IUPredscorethreshold>[^/]+)$']

urls.py

@csrf_exempt
def newinteractors_intnet(request, geneId, IUPredscorethreshold):

    print("IUPredscorethreshold:" + IUPredscorethreshold)

.
.
.
.
.
some computation


    graphData = {"nodes": uniquenodesdata, "links": linksdata}

    response = JsonResponse(graphData)

    return response

views.py

path(
        "dataJson/newinteractors_intnet/<str:geneId>/<str:IUPredscorethreshold>",
        views.newinteractors_intnet,
        name="newinteractors_intnet",
    ),

lorsque j'exécute ce code, j'obtiens l'erreur suivante:

$(document).on("click", "#filter", function (e) {
      IUPredscorethreshold = 0.4
      $("#ksNetwork").empty();
      ksInteractionNetwork('{% url "camkinetv2:newinteractors_intnet" tab1.caMKipedia_Id IUPredscorethreshold %}');
 });

qu'est-ce que je fais de mal? comment puis-je résoudre ce problème. Je suis encore au stade d'apprentissage de django et je ne suis pas en mesure de résoudre cette erreur.


0 commentaires

3 Réponses :


0
votes

Un message d'erreur vous indique que je n'ai pas pu trouver une URL qui correspond à {% url "camkinetv2: newinteractors_intnet" tab1.caMKipedia_Id IUPredscorethreshold%} . Dans votre urls.py, vous déclarez que IUPredscorethreshold est une chaîne en mettant str: devant elle. Dans votre javascript, vous attribuez 0.4 à cette var qui est un entier. Par conséquent, l'URL que vous ne résolvez pas.

Remplacez votre chemin dans urls.py par: chemin ("dataJson / newinteractors_intnet / / ", views.newinteractors_intnet, name = "newinteractors_intnet",),


2 commentaires

J'avais apporté des modifications au fichier urls.py mais j'obtenais toujours l'erreur: Reverse for 'newinteractors_intnet' with arguments '(' GID1716 ',' ')' not found. 1 motif (s) essayé (s): ['v2 / dataJson / newinteractors_intnet / (? P [^ /] +) / (? P [‌ 0-9] +) $']


de plus, ce que j'ai observé, c'est que si je change ma ligne javascript de ksInteractionNetwork ('{% url "camkinetv2: newinteractors_intnet" tab1.caMKipedia_Id IUPredscorethreshold%}'); à ksInteractionNetwork ('{% url "camkinetv2: newinteractors_intnet" tab1.caMKipedia_Id "IUPredscorethreshold"%} ') ie mettre IUPredscorethreshold dans "IUPredscorethreshold" je n'obtiens aucune erreur mais dans mon views.py quand je l'imprime Je l'obtiens variable et non la valeur IUPredscorethreshold: IUPredscorethreshold



0
votes

Remplacez votre code Javascript par:

$(document).on("click", "#filter", function (e) {
  IUPredscorethreshold = 0.4
  $("#ksNetwork").empty();
  let url = '{% url "camkinetv2:newinteractors_intnet" ' + tab1.caMKipedia_Id + ' ' + IUPredscorethreshold + '%}'
  ksInteractionNetwork(url);
});

Je pense que l'URL ne se forme pas correctement


1 commentaires

J'avais changé le javascript mais j'obtiens toujours une erreur: `Inverse pour 'newinteractors_intnet' with arguments '(' + tab1.caMKipedia_Id + ',' + IUPredscorethreshold + ')' non trouvé. 1 motif (s) essayé (s): ['v2 / dataJson / newinteractors_intnet / (? P [^ /] +) / (? P [‌ 0-9] +) $'] `



0
votes

modification de la ligne javascript de: ksInteractionNetwork ('{% url "camkinetv2: newinteractors_intnet" tab1.caMKipedia_Id IUPredscorethreshold%}'); à ksInteractionNetwork ('{% url "camkinetv2net: newinteractors_int" tab1.caMKipedia_Id "IUPredscorethreshold"%} '. replace (/ IUPredscorethreshold /, IUPredscorethresholdvalues));

La réponse suivante a aidé à répondre


0 commentaires