2013-12-12 4 views
1

시스템을 혼합합니다. 또한, 나는 그것에 4 또는 5 애플 리케이션과 작은 프로젝트를 가지고 있고 다른 애플 리케이션에서 탐색하려고합니다. 여기에 내가 뭘하려고하는지 - 당신이 localhost에 갈 때로드되는 mainMenu 응용 프로그램이 있습니다. 이 응용 프로그램의 템플릿에서 나는 그렇게 다른 응용 프로그램으로 이동 : 당신이 용어는, 예를 들어 ... 내가 어떤 상황에 맞는 몇 가지 glossary.html 렌더링로 이동하지만 때장고 내 템플릿

<div class="ui-grid-a"> 
     <div class="ui-block-a"><a href="/labs/" data-role="button">Labs</a></div> 
     <div class="ui-block-b"><a href="/quiz/" data-role="button">Quiz</a></div>  
    </div> 
    <div class="ui-grid-a"> 
     <div class="ui-block-a"><a href="/primer/" data-role="button">Primers</a></div> 
     <div class="ui-block-b"><a href="/timer/" data-role="button">Timers</a></div>  
    </div> 
    <div class="ui-grid-a"> 
     <div class="ui-block-a"><a href="#" data-role="button">Calculations</a></div> 
     <div class="ui-block-b"><a href="/mapping/" data-role="button">Mapping</a></div>  
    </div> 
    <div class="ui-grid-a"> 
     {# <!-- {% url 'glos:index' %} --> #} 
     <div class="ui-block-a"><a href="/glossary/" data-role="button">Glossary</a></div> 
     <div class="ui-block-b"><a href="/videos/" data-role="button">Videos</a></div>  
    </div> 
</div> 

지금, 무슨 일하는 것은 즉 ... 당신은 브라우저에서 glossary.html의 모양을 얻습니다. 그러나 실제 코드는 mainMenu 페이지에서옵니다. 제대로 렌더링 브라우저에서 페이지를 다시로드하는 경우, 당신은 실제 glossary.html를 얻을

def search_gloss(request): 
    the_list = [...] #some data structure that I use 

    context = { "terms": the_list } 
    return render(request, 'glossary/glossary.html', context) 

주, 다음은 용어를 렌더링하는 도면이다. 문제는 렌더링 자체에 있지 않습니다. 템플릿에 필요한 정보를 얻습니다. 문제는 일부 자바 스크립트 함수가 있기 때문에 템플릿을 제대로로드하지 못하는 것입니다. 하지만 내가 얻을 mainMenu 페이지에서 자바 스크립트 기능입니다. 어떤면에서는 이전 템플릿과 새 템플릿을 혼합합니다. 여기

이 용어집 페이지의 urls.py입니다 : 당신이 더 많은 정보가 필요한 경우 내가 지금 생각할 수있는 전부입니다

from django.conf.urls import patterns, url 

from glossary import views 

urlpatterns = patterns('', 
    url(r'^$', views.search_gloss, name='search_gloss'), 
) 

, 알려 주시기 바랍니다.

---> 편집 < ---

좋아, 여기에 내가 glossary.html

def search_gloss(request): 
    the_list = [('Acrylamide gels','A polymer gel used for electrophoresis of DNA or protein\ 
        to measure their sizes (in daltons for proteins, or in base pairs for DNA).\ 
        See "Gel Electrophoresis". Acrylamide gels are especially useful for high resolution\ 
        separations of DNA in the range of tens to hundreds of nucleotides in length.'), 

     ('Agarose gels','A polysaccharide gel used to measure the size of nucleic acids (in bases or base pairs).\ 
       See "Gel Electrophoresis". This is the gel of choice for DNA or RNA in the range of thousands\ 
       of bases in length, or even up to 1 megabase if you are using pulsed field gel electrophoresis.'), 

     ('Genome',"The total DNA contained in each cell of an organism. Mammalian genomic DNA (including that of humans) \ 
       contains thousands of genes, including coding regions, 5' and 3' untranslated regions, introns, 5' and 3'\ 
       flanking DNA. Also present in the genome are structural segments such as telomeric and centromeric DNAs \ 
       and replication origins, and intergenic DNA."), 

     ('Hybridization','The reaction by which the pairing of complementary strands of nucleic acid occurs. DNA is usually\ 
        double-stranded, and when the strands are separated they will re-hybridize under the appropriate \ 
        conditions. Hybrids can form between DNA-DNA, DNA-RNA or RNA-RNA. They can form between a short \ 
        strand and a long strand containing a region complementary to the short one. Imperfect hybrids can \ 
        also form, but the more imperfect they are, the less stable they will be (and the less likely to form).\ 
        To "anneal" two strands is the same as to "hybridize" them.')] 

    context = { "terms": the_list } 
    return render(request, 'glossary/glossary.html', context) 

및 자바 스크립트 함수에 전달할 전체 데이터 구조는 단지 함수입니다 이 데이터 구조를 쿼리하지만 문제는 ... 내 함수는 렌더링 후 템플릿 코드에 나타나지 않습니다 ... 나타나는 유일한 자바 스크립트 함수는 이전 템플릿의 것입니다. 그러나, 내가 페이지를 새로 고칠 때 ... 모든 것이 좋습니다. 제 말은 ... 템플릿을 얻습니다 ...하지만 이전 템플릿과 섞여 있습니다 ... 저는 자바 스크립트가 문제라고 생각하지 않습니다.

---> 편집 2 < ---

프로젝트의 urls.py :

from django.conf.urls import patterns, include, url 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 
    #url(r'^$', 'index.html', name='index'), 
    # url(r'^mysite/', include('mysite.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 

    # include the rango urls 
    url(r'^login$', include('login.urls', namespace="log")), 
    url(r'^quiz$', include('quiz.urls', namespace="quizes")), 
    url(r'^glossary$', include('glossary.urls', namespace="glos")), 
    url(r'^$', include('login.urls', namespace="log")), 
    url(r'^mapping$', include('mapping.urls')), # ADD THIS NEW TUPLE! 
    url(r'^main$', include('mainMenu.urls', namespace="main")), # ADD THIS NEW TUPLE! 
    url(r'^timer$', include('timer.urls')), # ADD THIS NEW TUPLE! 
    url(r'^primer$', include('primer.urls')), # ADD THIS NEW TUPLE! 
    url(r'^labs$', include('labs.urls')), # ADD THIS NEW TUPLE! 
    url(r'^videos$', include('videos.urls')), # ADD THIS NEW TUPLE! 
) 

용어의 urls.py :에서 관리 라인에서

from django.conf.urls import patterns, url 

from glossary import views 

urlpatterns = patterns('', 
    url(r'^$', views.search_gloss, name='search_gloss'), 
) 
+1

두 가지 의심스러운 것들은 "내가 사용하는 일부 데이터 구조"와 "일부 javascript 기능"입니다. 나는 당신이 그것들에 대해 좀 더 자세하게 설명 할 필요가 있다고 생각한다. –

+0

몇 가지 설명을 추가했습니다. 그러나 나는 glossary 템플릿에 필요한 정보를 얻은 후에 jacascript와 데이터 구조가 문제가되지 않는다고 생각한다 - 문제는 용어집의 템플릿과 이전 페이지의 템플릿을 섞어서 사용한다는 것이다. 이유. – Rincer

+0

용어집에 대한 링크 (예 :'a href = "/ glossary /"')가 urls.py (즉'url (r '^ $'')의 내용과 일치하지 않는 것 같습니다. – yuvi

답변

1

봐 당신의 URL :

r'^admin/', include(admin.site.urls) 

이제 용어집을 살펴보십시오.

참조 하시겠습니까? $ 기호는 URL 으로 끝나는 것을 의미합니다. 그래서 어떤 '어린이'- URL도 그것에 의해 잡히지 않을 것입니다.당신이 원하는 것은 관리자처럼 것은 우리가 주석에서 설명하고있는 바와 같이

r'^glossary/', include('glossary.urls') 

편집

이 문제 대신 리디렉션의를 가져 페이지, 위해 자바 스크립트 코드 내부에 숨겨 데이터를 입력하고 div 안에 채 웁니다. 나는 그것이 왜 일어날 지 정확히 말할 수 없습니다. 아마도 코드를 살펴보고 다음 줄을 찾아보아야 할 것입니다.

$('a').on('click', function(e) { 
     e.preventDefault(); 
     var body = $('body'), 
       div = $('<div></div>') 
       link = $(this).attr('href'); 
     data = $.load(link); 
     div.html(data); 
     div.appendTo(body) 
    }); 
+0

변경했지만 문제가 여전히 남아 있습니다 ... 템플릿을 뒤섞습니다 – Rincer

+0

확장 블록을 사용하고 있습니까? 또한, mainManu urls 행을 완전히 생략하면 어떻게됩니까? 용어집을 제외한 모든 것을 주석으로 처리하십시오. 그러면 어떻게됩니까? – yuvi

+0

아니요, 연장을 사용하지 않습니다. 어쨌든 ... 용어집을 제외한 모든 것을 주석 처리하면 127.0.0.1:8000/glossary에만 액세스 할 수 있습니다. 문제는, 만약 내가 그 링크로 직접 페이지에 접근한다면 - 그것은 잘 동작합니다. 그럼에도 불구하고 다른 페이지에서로드하면 ... 문제가 발생합니다. – Rincer