我想在django中设计一个页面,其中有一个搜索栏,用户在其中输入一个关键词,在10 xml文档中搜索它。我已经设计了python代码,用于使用xml解析来搜索单词。我还在django中开发了一个名为“ search ”的应用程序,但该应用程序必须包含我想要设计的页面。现在,我的应用程序正在从终端获取输入,但我希望通过我将设计的这个网页输入这个词。 我怎样才能做到这一点?
这是我的代码,它将位于后端:
#!/usr/bin/python
import sys
sys.path.insert(0,'/home/pooja/Desktop/mysite')
#to tell django which settings module to use
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from search.models import Keywords
from skey import find_root_tags, count, sorting_list
str1 = raw_input("enter the word to be searched\n") # taking input from user on terminal but I want it to be taken through that page
list = []
fo = open("xml.txt","r")
for i in range(count.__len__()):
file = fo.readline()
file = file.rstrip('\n')
find_root_tags(file,str1,i)
list.append((file,count[i]))
sorting_list(list)
for name, count in list:
s = Keywords(file_name=name,frequency_count=count)
s.save()
fo.close()
这里django_project = mysite #my项目的名称和app =搜索#my app的名字
请帮忙。
答案 0 :(得分:2)
在搜索应用中使用表单创建视图并重新搜索搜索键和...
请参阅这些页面
Django |使用表单| Django文档 - > https://docs.djangoproject.com/en/dev/topics/forms/
Django |写意见| Django文档 - >
https://docs.djangoproject.com/en/dev/topics/http/views/
答案 1 :(得分:1)
您目前正在使用Django的数据库模型(即Keywoards)。要添加网页输入,通常的方法是使用:
一个Django模板 - 即用Django特定模板标记代码注释的HTML - 包括带有搜索字段和提交按钮的HTML表单。
一个Django视图,为上面的模板提供后端逻辑 - 即一个Python函数,(1)导致空搜索表单(来自上面的模板)首先显示给用户,(2) )接收用户的搜索输入(通过用户单击提交时触发的Django“请求”),导致它被处理(沿着上面代码中的行),并且可能会回复“谢谢,搜索已处理”或其他任何内容(通过Django为您处理的“响应”)。
一个Django URLconf配置行(在你的项目的settings.py模块中),它告诉Django将你想要用于搜索界面的任何URL路由到上面的视图。
如果这些内容对您来说是新的,我建议您花些时间与the online Django Book一起,尤其是Views and URLconfs,Templates和Forms上的章节。请注意,关于表单的章节实际上使用了一个类似于您尝试的简单搜索示例,希望在显示所有部分如何组合在一起时特别有用。
答案 2 :(得分:0)
阅读如何在Django文档中创建表单:https://docs.djangoproject.com/en/1.4/topics/forms/