我使用 django cms 创建了一个名为“search”的应用程序,它基本上从用户那里获取一个单词,在 10 个 xml 文档中搜索它并返回每个 xml 文件中该单词出现的频率。这些数据存储在我使用 sqlite3 数据库创建的表中。
现在我的问题是,每当用户输入单词时,表中的先前数据都应该在不使用删除查询但通过代码片段的情况下被删除。因为这可以通过在 python 交互式 shell 上键入删除查询来轻松完成。
但是我希望一旦用户被引导到显示计数的结果页面,如果他再次输入另一个单词,则应该删除以前的数据。嘿,这是我的 views.py 代码:
# Create your views here.
#!/usr/bin/python
from django.template import loader, RequestContext, Context
from django.http import HttpResponse
from search.models import Keywords
from django.shortcuts import render_to_response as rr
def front_page(request):
if request.method == 'POST' :
from skey import find_root_tags, count, sorting_list
str1 = request.POST['word']
str1 = str1.encode('utf-8')
list = []
path = '/home/pooja/Desktop/'
fo = open("/home/pooja/Desktop/xml.txt","r")
for i in range(count.__len__()):
file = fo.readline()
file = file.rstrip('\n')
find_root_tags(path+file,str1,i)
list.append((file,count[i]))
sorting_list(list)
for name, count1 in list:
s = Keywords(file_name=name,frequency_count=count1)# saving my data in table here .
s.save()
fo.close()
list1 = Keywords.objects.all()
t = loader.get_template('search/results.html')
c = Context({'list1':list1,})
return HttpResponse(t.render(c))
else :
str1 = ''
template = loader.get_template('search/front_page.html')
c = RequestContext(request)
response = template.render(c)
return HttpResponse(response)
我的models.py文件:
from django.db import models
class Keywords(models.Model):
file_name = models.CharField(primary_key=True, max_length=100)
frequency_count = models.IntegerField()
def __unicode__(self):
return self.file_name
请帮助,我是 django 的新手。