0
저는 장고를 처음 사용했습니다. 제발 빠른 도움을 많이 부탁드립니다.django의 동적 URL
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, })
표시되는 스택 추적은 무엇입니까? – karthikr
'(? P [0-9] +)와 같은 정규식을 포함하는 URL은 대개 기존 개체 레코드를 검색하는 데 사용됩니다. 'Newshop_id' 변수는 뷰에서 절대 사용되지 않습니다. 즉, 아무것도 검색하지 않습니다. 이 견해에서 당신은 무엇을하려고합니까? –
ChidG
실제로 어떤 URL을 사용할지 말하지 않았습니다. –