2011-08-25 33 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"),