Django模型如何与非Django文件交互

Django模型如何与非Django文件交互,django,django-models,django-forms,Django,Django Models,Django Forms,我是Django的新手,在实践中学习 我最初的web应用程序只使用view.py、base.html和一个非Django python文件es.py连接到NoSQL数据库(Elasticsearch)来搜索索引B。我在base.html中做了大部分前端工作 该应用程序现在需要基于索引A中的字段设置一些相关下拉列表,然后启用按所选值筛选的索引B上的搜索。因此,这些值需要有点“全局性” 一小段 新选择函数的base.html <form class="indexA-selection">

我是Django的新手,在实践中学习

我最初的web应用程序只使用
view.py
base.html
和一个非Django python文件
es.py
连接到NoSQL数据库(Elasticsearch)来搜索索引B。我在
base.html
中做了大部分前端工作

该应用程序现在需要基于索引A中的字段设置一些相关下拉列表,然后启用按所选值筛选的索引B上的搜索。因此,这些值需要有点“全局性”

一小段 新选择函数的
base.html

<form class="indexA-selection">
 <input list="site">
<datalist id="site">
  <option value="aa">
  <option value="bb">
  <option value="cc">
  <option value="dd">
</datalist>
    <button class="btn" type="submit">Show Result</button>
  </form>
<br>
  <form class="form-inline">

    <input 
    class="form-control mr-sm-2" 
    type="query" placeholder="query" 
    aria-label="query"
    name = 'query'
    value = "">
    <button class="btn" type="submit">Search</button>
  </form>
我试图创建选择/下拉列表,但Django在
.html
中似乎不支持它们。我搜索发现,似乎我必须使用
models.py

我阅读了一些示例,但找不到
models.py
如何与非Django python文件交互


有没有一个例子可以说明这一点?为项目启用结构的最简单方法是什么?谢谢。

您可以通过
{%}
{{{}
标记访问HTML模板中视图的上下文

将数据列表更改为类似以下内容(假设类别具有名称和id字段):


{allcate%中类别的百分比}
{{category.name}
{%endfor%}

也考虑选择一个更冗长的名字,比如AlLub类< /P>你能发布一些你已经尝试过的代码吗?@ NigoGriffiion用当前的代码更新了我所用的代码。我仍然不确定你想要做什么。是否要在html中的数据列表中包含allcate as选项?是。开始选择/下拉列表只有4个可能的值,所以我只是在html中列出了它们。我计划使用allcate中的值创建其他依赖下拉列表并用JavaScript填充。我不明白“非Django Python文件”是什么。Django Python和非Django Python之间没有区别。

def search_index(request):
    results = []
    search_term = ""
    v_site=""
    if request.GET.get('query'):
        search_term = request.GET['query'] #this is the original search
    if request.GET.get('site'):
        v_site = request.GET['site']  
    print(v_site)   #no value gets printed,so I don't think value in html is passed
    allcate=categories(v_site) #function from non-Django py file.
     #If v_site is passed, this will return a nested dictionary for dependent drop-downs 
    print(allcate)
    results = esearch(query=search_term) #function from non-Django py file
    print(results)
    context = {'results': results, 'count': len(results), 'search_term': search_term,'allcate':allcate}
    return render(request, 'esearch/index.html', context) 
<datalist id="site">
    {% for category in allcate %} 
    <option value="{{category.id}}">
        {{ category.name }}
    </option>
    {% endfor %} 
</datalist>