2011-08-25 37 views
1

有这种错误在创建教程: http://img718.imageshack.us/img718/2194/unled2bh.jpg类型错误在Django

有没有刻着知道什么是错的。这显示,当我加入这个修改:

settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.auth', 
    'django.core.context_processors.i18n', 
    'django.core.context_processors.media', 
    'sklep.context_processors.koszyk' 
) 

EMAIL_PORT = 1025 
EMAIL_SKLEPU = '[email protected]' 

SKLEP/urls.py

url(r'^koszyk/$', 'koszyk', name="sklep_koszyk"), 
url(r'^koszyk/dodaj/(\d+)/$', 'koszyk_dodaj', name="sklep_koszyk_dodaj"), 

SKLEP/views.py

# coding: utf-8 
from django.http import HttpResponseRedirect 
from django.core.urlresolvers import reverse 
from django.views.generic.simple import direct_to_template 
from django.core.mail import send_mail 
from django.template import Context, loader 
from django.conf import settings 
from sklep.models import Produkt 
from sklep.forms import ZamowienieForm 

def koszyk(request): 
    koszyk = request.session.get('koszyk', []) 
    produkty = list(Produkt.objects.filter(pk__in=koszyk)) 

    if request.method == 'POST': 
     formularz = ZamowienieForm(request.POST) 

     if formularz.is_valid(): 
      dane = formularz.cleaned_data 
      tresc = loader.get_template('sklep/zamowienie.txt').render(Context({'produkty': produkty, 'dane': dane})) 

      send_mail('Potwierdzenie zakupu', tresc, settings.EMAIL_SKLEPU, [dane['email']]) 
      send_mail(u'Zamówienie', tresc, dane['email'], [settings.EMAIL_SKLEPU]) 

      del request.session['koszyk'] 

      return HttpResponseRedirect(reverse('sklep_koszyk')) 
    else: 
     formularz = ZamowienieForm() 

    if koszyk: 
     kontekst = {'koszyk': produkty, 'formularz': formularz} 
    else: 
     kontekst = {'koszyk': []} 

    return direct_to_template(request, 'sklep/koszyk.html', extra_context = kontekst) 

def koszyk_dodaj(request, id_produktu): 
    koszyk = request.session.get('koszyk', []) 
    if int(id_produktu) not in koszyk: 
     koszyk.append(int(id_produktu)) 
    request.session['koszyk'] = koszyk 
    return HttpResponseRedirect(reverse('sklep_koszyk')) 

context_processors.py

def koszyk(request): return {'stan_koszyka':len(request.session.get('koszyk', []))} 

并且我添加了两个模板。 错误显示出来,当我输入/ SKLEP/koszyk /或/ SKLEP/koszyk/dodaj/1/URL ......

回答

3

你需要使用的完整路径,您的看法在urls.py:

url(r'^koszyk/$', 'app_name.views.koszyk', name="sklep_koszyk"), 
url(r'^koszyk/dodaj/(\d+)/$', 'app_name.views.koszyk_dodaj', name="sklep_koszyk_dodaj"),