这是我的views.py文件代码(存在于我的应用程序'django'中':'
#!/usr/bin/python
from dango.http import HttpResponse
from skey import find_root_tags, count, sorting_list
from search.models Keywords
def front_page(request):
if request.method == 'POST' :
str1 = request.POST['word']
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()
return HttpResponseRedirect('/results/')
else :
str1 = ''
list = []
template = loader.get_tamplate('search/search.html')
response = template.render()
return HttpResponse(response)
def results(request):
list1 = Keywords.objects.all()
t = loader.get_template('search/results.html')
c = Context({'list1':list1,
})
return HttpResponse(t.render(c))
1)我想知道,因为我在views.py中导入'skey'文件,所以我需要在搜索应用中保留这个'skey.py','xml.txt'和10 xml文档?目录
2)由于我在帖子后重定向到'结果'视图,所以,我如何在urls.py中提及它,即在“urlpatterns”中。
3)那么我是否需要在“def front_page(request):”中提及“context”?如果没有它,这个视图定义是否正常工作因为根据我的说法,我们不必使用上下文在每一个观点中。
Django对我来说是新手,我没有任何亲身经验。所以,
请帮忙。
答案 0 :(得分:1)
将'skey'保存在同一个app目录中。将xml文档保存在app目录下并不好但是可以接受的想法,更好的选择是将它们置于"/var/www/your-site/xml-data"
/ "d:/your-site/xml-docs/"
之类的某个地方并通过绝对路径访问它们
请参阅以下代码
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^search/$','search.views.front_page'),
url(r'^results/$','search.views.results'),
url(r'^admin/', include(admin.site.urls)),
)
正常使用是这样的:( get_template和render会自动调用)
from django.shortcuts import render_to_response as rr
def home(req):
# do some work here
return rr('your template file',
{ ... }, # your parameters
context_instance = RequestContext(req))