2016-07-01 3 views
0

поэтому я создал приложение Django с тремя html-страницами. Я хочу с страницы, которая не является главной страницей для другой. Тем не менее, похоже, что в URL-адресе появляется некоторая смесь, когда сервер пытается получить доступ к последней странице.Ошибка конфигурации URL-адреса Django

Вот мое приложение urls.py:

from django.conf.urls import url 
    from . import views 
    urlpatterns = [ 

      url(r'^$',views.homepage,name='homepage'), 
      url(r'^findnow.html/$',views.findnow,name='findnow'), 
      url(r'^more.html/$',views.more,name='more') 
    ] 

Я хочу, чтобы перейти от "findnow.html" до "more.html". Я хочу, чтобы URL-адрес был «localhost: port/more», но вместо этого сервер переходит в «localhost: port/findnow.html/more.html».

Вот мой HTML кода для findnow:

 <body> 
     <div id="googleMap" style="width:500px;height:380px;text-align:center;"></div> 
     <a href="more.html">MORE</a> 
     </body> 
    </html> 

Вот мой views.py:

def more(request): 
     return render(request,'myapp/more.html') 

ответ

1

Это происходит потому, что вы ссылаетесь more.html как относительной страницы.

Вы должны либо предварять / к нему:

<a href="/more.html">MORE</a> 

Или отменить его с помощью url тег вместо:

<a href="{% url 'more' %}">MORE</a> 
+0

Спасибо, сейчас работает! :) –

2

Так настроить его, чтобы быть:

from django.conf.urls import url 
from . import views 
urlpatterns = [ 

     url(r'^$',views.homepage,name='homepage'), 
     url(r'^findnow/$',views.findnow,name='findnow'), 
     url(r'^more/$',views.more,name='more') 
] 

И ваш шаблон:

 <body> 
     <div id="googleMap" style="width:500px;height:380px;text-align:center;"></div> 
     <a href="{% url 'more' %}">MORE</a> 
    </body> 
</html> 
Смежные вопросы