繁体   English   中英

如何从django中的dropdwonlist传递所选值的动态URL

[英]How to pass dynamic url of selected value from dropdwonlist in django

我有一个dropdwon列表..当我点击它我有一个像一些名字的值..现在我希望该名称传递为django中的URL

Views.py

@csrf_exempt
def forecasting(request):
    Category = category.objects.all()

    return render(request, "myapp/casting.html",{'Category':Category})

@csrf_exempt
def Prediction(request,name):
    Category1 = category.objects.get(Category=name)

    print(Category1.Category)
    return render(request, "myapp/casting.html", {'Category1': Category1})

Models.py

class category(models.Model):
    Category = models.CharField(max_length=50)

    def __str__(self):
        return self.Category

Html文件

<form  id="myform" method="post" name="myform" action="/Prediction/{{Category1.Category}}">

                    <div class="col-lg-3 col-md-3">
                        <h3> Select Category</h3>
                    </div>
                    <div class="col-lg-3 col-md-3">
                        {%csrf_token%}
                        <select id="Category" name="catagery_id" onchange="myform.submit()">
                            <option value="">Select</option>
                            {% for Category in Category %}
                            <option value="{{ Category.Category }}">{{ Category.Category }}</option>

                            {% for message in messages %}
                            <div>
                                <p>{{message|safe}}</p>

                            </div>
                            {% endfor %}

                            {% endfor %}
                        </select>
                    </div>
                    <ul class="messages">
                        {% for message in messages %}
                        <p
                                {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</p>
                        {% endfor %}
                    </ul>
                    <div class="col-lg-3 col-md-3">

                    </div>


                </form>

我不知道该怎么做。因为当我提交表格时价值来了..我是新来的,请帮助我

我想你想传递在表格的下拉列表中选择的值,你可以使用jquery尝试这个

$("#Category").on("change",function(){
  action_url = '/Prediction/'+$(this).val()
  $('#myform').attr('action', action_url); 
  $('#myform').submit()
})

在这种情况下,您必须通过删除onchange="myform.submit()"从jquery提交表单

替换以下代码

{% for Category in Category %}
 {% if Category.Category == Category1.Category %}
   <option value="{{ Category.Category }}" selected>{{ 
    Category.Category } 
   </option>
 {% else%}
   <option value="{{ Category.Category }}">{{ Category.Category } 
   </option>
 {% endif %} 

 {% for message in messages %}
 <div>
 <p>{{message|safe}}</p>

  </div>
  {% endfor %}

 {% endfor %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM