2017-02-22 12 views
0

Я так новичок в django. Быстрая помощь будет очень признательна.Динамический URL-адрес в django

url(r'^shops/(?P<Newshop_id>[0-9]+)/$', views.shop_single, name='singleshop') 

Этот путь дается мне, страница не найдена ошибка.

models.py

from __future__ import unicode_literals 
from django.db import models 

class SliderTitle(models.Model): 
    slider_title = models.CharField(max_length=20) 
    def __str__(self): 
     return self.slider_title 

class Slider(models.Model): 
    slider_type = models.OneToOneField(SliderTitle) 
    slider = models.FileField(blank=True) 
    def __str__(self): 
     return str(self.slider_type) 

class ShopCategories(models.Model): 
    category = models.CharField(max_length=50, unique=True) 
    def __str__(self): 
     return self.category 

class NewShop(models.Model): 
    category = models.ForeignKey(ShopCategories) 
    main_image = models.FileField() 
    name = models.CharField(max_length=100, unique=True) 
    tagline = models.CharField(max_length=50, default='Enter tagline here2') 
    description = models.TextField(default='enter shop description') 
    shop_image = models.FileField() 
    def __str__(self): 
     return self.name 

urls.py

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', views.homepage, name='homepage'), 
    url(r'^about/', views.about, name='about'), 
    url(r'^shops/(?P<Newshop_id>[0-9]+)/$', views.shop_single, name='singleshop') 

views.py

def shop_single(request, Newshop_id): 
    cat1 = NewShop.objects.filter(category_id=1) 
    cat2 = NewShop.objects.filter(category_id=2) 
    cat3 = NewShop.objects.filter(category_id=3) 
    cat4 = NewShop.objects.filter(category_id=4) 
    name1 = ShopCategories.objects.filter(id=1) 
    name2 = ShopCategories.objects.filter(id=2) 
    name3 = ShopCategories.objects.filter(id=3) 
    name4 = ShopCategories.objects.filter(id=4) 

    return render_to_response('shop_single.html', {'shop_name1': name1, 'shop_name2': name2, 'shop_name3': name3, 
              'shop_name4': name4, 'Shop_cat1': cat1, 'Shop_cat2': cat2, 
              'Shop_cat3': cat3, 
              'Shop_cat4': cat4, }) 

my DB from phpmyadin

+0

Какова трассировка стека, которую вы видите? – karthikr

+0

URL-адреса, содержащие регулярное выражение типа '(? P [0-9] +)' обычно используются для * retreive * существующей записи объекта. Переменная 'Newshop_id', по-видимому, никогда не используется в вашем представлении, то есть вы ничего не извлекаете. Что вы намерены совершить в этой точке зрения? – ChidG

+0

Вы даже не указали, какой URL вы на самом деле собираетесь. –

ответ

1

Я думаю, что вы никогда не используете newshop_id с вашей точки зрения.

Поэтому вам не нужно передавать этот newshop_id на ваш взгляд и ваш URL.

+0

Спасибо большое, я должен был просто прочитать полную документацию URL еще раз. Я исправил это. Изучение языка программирования требует большого терпения и настойчивости –

Смежные вопросы