запросы, связанные с файлом views.py в django cms

Это мой код файла 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) Я хотел знать, так как я импортирую файл «skey» в views.py, так нужно ли мне хранить эти «skey.py», «xml.txt» и 10 документов xml в каталоге приложения поиска?

2) Поскольку после публикации я перенаправляюсь на просмотр результатов, то как мне упомянуть об этом в urls.py, то есть в "urlpatterns" .

3) Тогда мне нужно упомянуть «контекст» в «def front_page(request):»? Будет ли это определение представлений работать нормально без него, потому что, по моему мнению, нет необходимости, чтобы мы использовали контекст в каждом определении. просмотров.

Django для меня новичок, и у меня нет опыта работы с ним. Итак,

Пожалуйста помоги.


person POOJA GUPTA    schedule 04.07.2012    source источник
comment
пожалуйста, помогите мне в этом......   -  person POOJA GUPTA    schedule 04.07.2012


Ответы (1)


  1. держите «skey» в том же каталоге приложения. Хранить xml-документы в каталоге приложения не очень хорошая, но приемлемая идея, лучше поместить их в какое-то место, например "/var/www/your-site/xml-data"/"d:/your-site/xml-docs/", и получить к ним доступ через абсолютный путь

  2. см. следующий код

    
    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)),
    )
    
  3. обычное использование выглядит так: (автоматически вызываются 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))
    
person pinkdawn    schedule 04.07.2012
comment
для 2-го пункта просто загляните в код, где написано: return HttpResponseRedirect('/results/'), это та часть, о которой я говорю. Поскольку я перенаправляюсь для просмотра результата, как мне упомянуть об этом в файле urls.py, который является частью любого проекта. Можешь сказать мне сейчас? - person POOJA GUPTA; 04.07.2012
comment
@POOJAGUPTA до сих пор не понимает, о чем вы говорите, вам не нужно упоминать о перенаправлении в urls.py, просто настройте '/results/' с контроллером в urls.py, он автоматически найдет этот контроллер и вернет ответ этого действия. - person pinkdawn; 04.07.2012
comment
@POOJAGUPTA Я обновил свой пост, перенаправление считается URL-адресом, поэтому вам нужна конфигурация, аналогичная той, что я публикую. и вам не разрешено иметь два ‹r'^search/$'› с одинаковым шаблоном, будет работать только последний. - person pinkdawn; 04.07.2012