【发布时间】:2021-06-26 07:15:15
【问题描述】:
----models.py---- 本模型使用django的sqlite3默认数据库
from django.db import models
from django.contrib.auth.models import User
class item_master(models.Model):
item_name=models.CharField(max_length=200,null=False)
item_price=models.IntegerField(max_length=5,null=False)
----views.py---- 这是这个django应用程序中的许多页面......“abc.html”是需要下拉列表的页面,“showitems”是相关功能。
from django.contrib.auth.decorators import login_required
from django.shortcuts import render, get_object_or_404, redirect
from django.template import loader
from django.http import HttpResponse
from django import template
from app.models import item_master
from django import forms
from django_select2.forms import ModelSelect2Widget
from django.views import generic
import sqlite3
@login_required(login_url="/login/")
def index(request):
context = {}
context['segment'] = 'index'
html_template = loader.get_template( 'index.html' )
return HttpResponse(html_template.render(context, request))
@login_required(login_url="/login/")
def pages(request):
context = {}
try:
load_template = request.path.split('/')[-1]
print(load_template)
context['segment'] = load_template
html_template = loader.get_template( load_template )
if (load_template == "test.html"):
items(request)
return HttpResponse(html_template.render(context, request))
elif (load_template == "abc.html"):
showitems(request)
return HttpResponse(html_template.render(context, request))
else:
return HttpResponse(html_template.render(context, request))
except template.TemplateDoesNotExist:
html_template = loader.get_template( 'page-404.html' )
return HttpResponse(html_template.render(context, request))
except:
html_template = loader.get_template( 'page-500.html' )
return HttpResponse(html_template.render(context, request))
def showitems(request):
if request.method == "GET":
showdrop = item_master.objects.all()
return render(request,'abc.html',{"showdrop":showdrop})
----abc.html---- 前端的 HTML 代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/js/standalone/selectize.min.js" integrity="sha256-+C0A5Ilqmu4QcSPxrlGpaZxJ04VjsRjKu+G82kl5UJk=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.bootstrap3.min.css" integrity="sha256-ze/OEYGcFbPRmvCnrSeKbRTtjG4vGLHXgOqsyLFTRjg=" crossorigin="anonymous" />
<select id="selectitem" class="form-control" >
<option selected disabled="True">--- select --- </option>
{% for result in showdrop %}
<option value="{{result.id}}">{{result.item_name}}</option>
{% endfor %}
</select>
[下拉列表未列出任何项目][1] [1]:https://i.stack.imgur.com/W8l0G.png
【问题讨论】:
标签: javascript python html django drop-down-menu