Django處理下拉數據


問題來源: 針對下拉菜單而言,如果全部有前端固定輸入,一旦系統需要修改前端字段名稱,那么我們就需要去找到對應的下拉框,修改名稱,修改后還要重新提交代碼;略微麻煩

  解決辦法,用Django的models處理,把數據都寫到數據庫中,后端把數據返回給前端,前端只需要讀取數據,寫到對應的下拉菜單中即可

 

具體操作:

  后端:

    1、 先建表,想清楚數據結構,再寫接口

    2、 寫一個接口,將數據返回給前端;get請求

class SearchEnvJson(APIView):
    def get(self, request):
        data = Config.objects.all()
        return JsonResponse(data)

         自己建一個config表,非開發人員,建表比較戳,見諒;能用

    id可以分大一點,這樣就可以防止突發新增內容;用value區分不同的下拉菜單,用descriptions作為option值

  

 

  前端: 前端將后端提供的數據寫入到option

        $.ajax({
            type: "get",
            url: "{% url 'searchEnvApi' %}",
            datatype: 'json',
            contentType: "application/json; charset=utf-8",
            data: {},
            success: function (data) {
                console.log(data);
                for (let i = 0; i < data.data.length; i++) {
                    let dataTemp = data.data[i];
                    console.log(dataTemp);
                    if (dataTemp.value == "env") {
                        $("#env").append(new Option(dataTemp.descriptions))
                    }else if (dataTemp.value == "server") {
                        $("#server").append(new Option(dataTemp.descriptions))
                    }else if (dataTemp.value=="area"){
                        $("#area").append(new Option(dataTemp.descriptions))
                    }
                }
                form.render(); 
            }
        });

 

數據驗證:

  數據正常顯示

 

 

  

 

 

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM