Django错误(CRUD)urls.py

时间:2013-08-01 19:15:19

标签: django python-2.7 crud django-urls

作为我继续想要在我的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

一个优秀的Google似乎没有产生任何合理的结果,所以任何一个人都有机会取悦吗?

谢谢!

3 个答案:

答案 0 :(得分: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()'})

答案 1 :(得分:0)

AttributeError向我建议字符串'django.views.generic.list_details'被视为要解析的网址。但是,您已经省略了过多的urls.py来确定。

确保前缀字符串是django.conf.urls.patterns第一个参数。如果您要拆分网址并使用不同的前缀字符串,请按documentation中所述多次调用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'), 
)

答案 2 :(得分:0)

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

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

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