0

我想在 django 中设计一个页面,该页面有一个搜索栏,用户可以在其中输入关键字以在 10 个 xml 文档中进行搜索。我设计了用于使用 xml 解析搜索单词的 python 代码。我还在 django 中开发了一个名为“搜索”的应用程序,但该应用程序必须有我想要设计的这个页面。现在,我的应用程序正在从终端获取输入,但我希望通过我将设计的这个网页输入单词。我怎样才能做到这一点?

这是我的代码,将位于后端:

#!/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 project's name and app = search #my app's name

请帮忙。

4

3 回答 3

2

使用表单在搜索应用程序中创建视图并接收搜索键和...

看到这些页面

于 2012-07-03T12:00:32.880 回答
1

您当前正在使用 Django 的数据库模型(即 Keywords)。要添加网页输入,典型的方法是使用:

  1. 一个 Django 模板——即用 Django 特定的模板标记代码注释的 HTML——它包括一个带有搜索字段和提交按钮的 HTML 表单。

  2. 一个为上面的模板提供后端逻辑的 Django 视图——即一个 Python 函数,它(1)首先向用户显示空的搜索表单(来自上面的模板),(2)接收用户的搜索输入(通过用户单击提交时触发的 Django“请求”),使其被处理(按照上面代码中的行),并且可能会回复“谢谢,搜索已处理”或其他任何内容(通过 Django 的“响应”为您处理)。

  3. 一个 Django URLconf 配置行(在您的项目的 settings.py 模块中),它告诉 Django 将您想要用于搜索界面的任何 URL 路由到上面的视图。

如果这些东西对你来说是新的,我建议花一些时间阅读在线 Django Book,尤其是关于Views 和 URLconfsTemplatesForms的章节。请注意,关于表单的章节实际上使用了一个与您尝试做的类似的简单搜索示例,希望这对展示所有部分如何组合在一起特别有用。

于 2012-07-03T12:13:53.170 回答
0

阅读如何在 Django 文档中创建表单:https ://docs.djangoproject.com/en/1.4/topics/forms/

于 2012-07-03T12:00:02.963 回答