「検索」と呼ばれるdjango cmsを使用してアプリを作成しました。これは基本的にユーザーから単語を取得し、10個のxmlドキュメントで検索し、各xmlファイルでその単語の出現頻度を返します。このデータは、sqlite3 データベースを使用して作成したテーブルに格納されます。
今私の問題は、ユーザーが単語を入力するたびに、削除クエリを使用せずにコード スニペットを使用して、テーブル内の前のデータを削除する必要があることです。これは、Python インタラクティブ シェルで delete query と入力することで簡単に実行できるためです。
しかし、ユーザーが count を示す結果ページにリダイレクトされるとすぐに、別の単語を再度入力すると、以前のデータは消去されます。ちょっとこれは私の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が初めてです。