【问题标题】:Dynamic URL in djangodjango中的动态URL
【发布时间】:2017-02-22 01:06:34
【问题描述】:

我对 django 很陌生。请快速帮助将不胜感激。

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

此路径给我页面未找到错误。

模型.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

【问题讨论】:

  • 你看到的堆栈跟踪是什么?
  • URL 包含像(?P&lt;Newshop_id&gt;[0-9]+) 这样的正则表达式通常用于检索现有的对象记录。 Newshop_id 变量显然从未在您的视图中使用,这意味着您没有检索任何内容。你打算在这个视图中发生什么?
  • 你甚至没有说你真正要去的网址。

标签: python django django-models django-views django-urls


【解决方案1】:

我认为您从未在视图中使用 newshop_id。

因此,您无需在视图和 url 中传递该 newshop_id。

【讨论】:

  • 非常感谢,我不得不再次阅读完整的 URL 文档。我把它修好了。学习一门编程语言需要很大的耐心和毅力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 2015-01-06
  • 2021-09-02
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多