Использование {% URL ??? %} в шаблонах DjangoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование {% URL ??? %} в шаблонах Django

Сообщение Anonymous »

Я много искал в Google ответы о том, как использовать тег «url» в шаблонах, но нашел много ответов, в которых говорилось: «Вы просто вставляете его в свой шаблон и указываете на представление, для которого вам нужен URL». Что ж, для меня это не радость :( Я перепробовал все возможные варианты и в крайнем случае прибег к публикации здесь.
Итак, вот оно. Мой urls.py выглядит так:
Итак, вот оно. Мой urls.py выглядит так:
Итак, вот оно. п>

Код: Выделить всё

from django.conf.urls.defaults import *
from login.views import *
from mainapp.views import *
import settings

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

urlpatterns = patterns('',
# Example:
# (r'^weclaim/', include('weclaim.foo.urls')),
(r'^login/', login_view),
(r'^logout/', logout_view),
('^$', main_view),

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

# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
#(r'^static/(?P
.*)$', 'django.views.static.serve',{'document_root': '/home/arthur/Software/django/weclaim/templates/static'}),
(r'^static/(?P.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
)
Мой файл «views.py» в моем каталоге «вход» выглядит так:

Код: Выделить всё

from django.shortcuts import render_to_response, redirect
from django.template import RequestContext
from django.contrib import auth

def login_view(request):
if request.method == 'POST':
uname = request.POST.get('username', '')
psword = request.POST.get('password', '')
user = auth.authenticate(username=uname, password=psword)
# if the user logs in and is active
if user is not None and user.is_active:
auth.login(request, user)
return render_to_response('main/main.html', {}, context_instance=RequestContext(request))
#return redirect(main_view)
else:
return render_to_response('loginpage.html', {'box_width': '402', 'login_failed': '1',}, context_instance=RequestContext(request))
else:
return render_to_response('loginpage.html', {'box_width': '400',}, context_instance=RequestContext(request))

def logout_view(request):
auth.logout(request)
return render_to_response('loginpage.html', {'box_width': '402', 'logged_out': '1',}, context_instance=RequestContext(request))
и, наконец, файл main.html, на который указывает login_view:

Код: Выделить всё


test! [url={% url logout_view %}]logout[/url]


Так почему же я каждый раз получаю «NoReverseMatch»?
(немного по-другому, мне пришлось использовать «context_instance=RequestContext» (запрос)» в конце всех моих преобразований в ответ, потому что в противном случае он не распознал бы {{ MEDIA_URL }} в моих шаблонах, и я не мог бы ссылаться ни на какие файлы css или js. Я не уверен, почему это так. . Мне это кажется неправильным)

Подробнее здесь: https://stackoverflow.com/questions/459 ... -templates
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение