0

作为我继续想在我的 Uni 课程中取得好成绩的一部分,我正在使用 Django 在 Python(2.7) 中做一些 web-dev。我已经按照 Django 的教程进行操作,现在我正在关注本教程。但是,当我添加 urls.py 部分以给我一些查看模型时,我得到了一个有点莫名其妙的错误。该项目称为“实践”,应用程序称为“订单”。在“订单”中是模型(全部验证)

urls.py 的(相关部分)是:

'django.views.generic.list_details',
url(r'^orders/$', 'object_list', {'queryset': 'orders.Product.objects.all()'}),
url(r'^orders(?P<slug>[-\W]+)/$', 'object_detail', {'queryset': 'orders.Product.objects.all()'})

我已经仔细检查过ROOT_URLCONF设置是否正确,因此错误似乎在某处'django.views.generic.list_details'使用。

错误信息是: AttributeError: 'str' object has no attribute resolve

一个好的谷歌似乎没有产生任何合理的东西,所以有机会请大家帮忙吗?

谢谢!

4

3 回答 3

0

您已经在每个模式中引用了参数字典中的值,因此它被视为字符串。它应该是:

url(r'^orders/$', 'object_list', {'queryset': orders.Product.objects.all()})

并不是说您需要导入orders-除非我怀疑这会起作用,因为Product将在模型文件中的订单中定义。只导入 Product 并直接引用它会更容易。

于 2013-08-05T17:33:37.263 回答
0

AttributeError向我表明该字符串'django.views.generic.list_details'被视为要解析的 url。但是,您已经省略了太多urls.py可以确定的内容。

确保前缀字符串是django.conf.urls.patterns. 如果您想分解您的网址并使用不同的前缀字符串,请按照文档patterns中的说明多次调用:

urlpatterns = patterns('myapp.views', 
    url(r'^$', 'app_index'), 
    url(r'^(?P<year>\d{4})/(?P<month>[a-z]{3})/$','month_display'),
) 

urlpatterns += patterns('weblog.views', 
    url(r'^tag/(?P<tag>\w+)/$', 'tag'), 
)
于 2013-08-02T09:01:26.473 回答
0

你忘记了“模式”吗?

urlpatterns = patterns('',
  (r'^$', ...),
  # ...

我还注意到缺少一个斜线:

url(r'^orders(?P<slug>[-\W]+)/$', 'object_detail', {'queryset': 'orders.Product.objects.all()'})
url(r'^orders/(?P<slug>[-\W]+)/$', 'object_detail', {'queryset': 'orders.Product.objects.all()'})
于 2013-08-02T03:10:17.373 回答