- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
刚开始玩 django,对 get_absolute_url 功能感到困惑。
当我尝试访问某个对象的 url 时,出现了 NoReverseMatch 错误。这是堆栈跟踪
$ python manage.py shell
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from food.models import *
>>> r = Restaurant.objects.get(pk=1)
>>> r
<Restaurant: East Side Marios>
>>> r.get_absolute_url()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 55, in _curried
return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs))
File "/usr/local/lib/python2.6/dist-packages/django/db/models/base.py", line 887, in get_absolute_url
return settings.ABSOLUTE_URL_OVERRIDES.get('%s.%s' % (opts.app_label, opts.module_name), func)(self, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/__init__.py", line 35, in inner
return reverse(bits[0], None, *bits[1:3])
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py", line 391, in reverse
*args, **kwargs)))
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py", line 337, in reverse
"arguments '%s' not found." % (lookup_view_s, args, kwargs))
NoReverseMatch: Reverse for 'food.views.restaurant_details' with arguments '()' and keyword arguments '{'restaurant_id': ['1']}' not found.
这是我目前所拥有的
server/urls.py
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# ADMIN
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/', include(admin.site.urls)),
# Restaurants
(r'^restaurants/$', 'food.views.restaurant_index'),
(r'^restaurants/(\d+)/$', 'food.views.restaurant_details'),
)
server/food/models.py
class Restaurant(models.Model):
name = models.CharField(max_length=50, unique=True)
description = models.TextField()
website = models.URLField(verify_exists=True)
def __unicode__(self):
return self.name
@models.permalink
def get_absolute_url(self):
return ('food.views.restaurant_details', (), {'restaurant_id': [str(self.id)]})
server/food/views.py
from food.models import *
from django.shortcuts import render_to_response, get_object_or_404
# Restaurant
def restaurant_index(request):
restaurant_list = Restaurant.objects.all()
return render_to_response('food/restaurant/index.html', {'restaurant_list': restaurant_list})
def restaurant_details(request, restaurant_id):
restaurant = get_object_or_404(Restaurant, pk=restaurant_id)
menu_list = Menu.objects.filter(restaurant=restaurant_id)
return render_to_response('food/restaurant/detail.html', {'restaurant': restaurant, 'menu_list': menu_list})
restaurant_index 的网站呈现良好,当然,任何餐厅的 url 都是空字符串
模板
{% if restaurant_list %}
<ul>
{% for restaurant in restaurant_list %}
<li><a href="{{ restaurant.get_absolute_url }}">{{ restaurant }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No restaurants are currently listed.</p>
{% endif %}
html
<ul>
<li><a href="">East Side Marios</a></li>
</ul>
最佳答案
(r'^restaurants/(\d+)/$', 'food.views.restaurant_details'),
您的 URL 模式将 restaurant_id
捕获为未命名组,因此您需要提供 restaurant_id
作为位置参数,或者更改 url 模式以捕获 restaurant_id
作为命名组
将 URL 模式更改为此
(r'^restaurants/(?P<restaurant_id>\d+)/$', 'food.views.restaurant_details'),
或者从 get_absolute_url
返回这个
return ('food.views.restaurant_details', (str(self.id),), {})
关于python - NoReverseMatch for get_absolute_url() 新手问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5808840/
我是 Xcode 4.4 和 AppleScriptObjC 世界的新手。我正在尝试扩展和试验 Sanderson 和 Rosenthal 所著的“学习 AppleScript”一书中关于 Apple
我完全迷失在 shell 编程中,主要是因为我使用的每个站点都提供不同的工具来进行模式匹配。所以我的问题是使用什么工具在管道流中进行简单的模式匹配。 上下文:我有named.conf 文件,我需要一个
我对 C 很陌生,我一直在尝试用这种数据结构制作一个程序: struct node { char command[100]; char prereq[100][80]; cha
该程序检查用户输入的数字是否为素数。 我的问题在if语句中。由于某些原因,Boolean永远不会切换。如果数字为质数,则只会给出两个结果。 我想念什么? import java.util.Scanne
我只是在学习 Haskell。我认为这会产生一个阶乘函数...... (在 ghci 内) Prelude> let ft 0 = 1 Prelude> let ft n = n * ft (n -
这个问题已经有答案了: Using bitwise OR 0 to floor a number (7 个回答) 已关闭 6 年前。 我试图在 JavaScript 中使用二分搜索来查找数组元素,并且
使用 Signal R,如果尝试发送对象,传递模型的语法是什么? private async void FormLoaded(object sender, RoutedEventArgs e) {
我需要使用 Javascript 生成一个半金字塔数字系列,其中包含输入的起始数字和 html 页面中的行数,并在 html 页面中显示结果。我已经完成了 Java 脚本编写之类的工作。我不明白的是它
为什么函数名重复 示例: lucky :: (Integral a) => a -> String lucky 7 = "LUCKY NUMBER SEVEN!" lucky x = "Sorry
我花了2天的时间在GGTS中使用grails进行Web开发。我正在跟着一本书。本书使用命令行。到目前为止,这很棒,但是现在这本书正在使用webtest。我已经在命令行上安装了webtest,但是如何在
我正在学习 Clojure,到目前为止我无法理解这个小难题,我确信这是非常基本的。 我有这个文件: (ns cloapp.core (:gen-class)) (defn -main "I d
我在获取图像以显示在我的 J Frame 中时遇到问题。我确信我将文件放在正确的位置并且输入了正确的名称。这是代码 import java.awt.Color; import java.awt.Gra
我正在尝试为我正在做的应用程序创建一个登录窗口。我整天都在寻找一个例子,但我似乎找不到任何有帮助的东西。我的基本结构如下: // App.scala object App extends Simple
坦率地说,我是 Java 新手。我正在开发一个项目,我想找到一种基于数字序列创建多项式函数的方法。 无论如何,我的问题是我创建了一个存储序列的数组。我现在想找出元素之间的差异。例如。我想找到这个计算a
现在添加了 xml 和 logcat,现在自定义 View 代码,不幸的是我远离开发计算机所以我无法检查你的建议,@jems,我的自定义 View 的构造函数可能错误?@Falmarri,我认为构建目
我在这里缺少什么?当我单击“h2 a”链接时,.content ol 应该切换。我不明白为什么它不起作用:( $(document).ready(function(){ $(".content ol
我是 Java 新手,我到处寻找,但我没有得到一个简单的概念。 我将两个变量声明为 int。我希望这两个变量对于所有方法都是全局的。在我的第一个方法中,我想从用户输入中获取第一个变量的值。然后我希望第
我正在抓取 IMDB 页面的数据,但当尝试将其写入 CSV 文件时,我只从结果中获取最后一行。 代码下方: from urllib.request import urlopen as uReq fro
自从我学习 C 语言以来,我决定制作一个简单的程序,用于加、减和计算两个变量的乘积。根据用户的输入是1,2还是3来选择加/减/折叠。 #include int main (void) { in
int main(void) { string n = GetString(); if(n!=NULL){ for(int i=0, j=strlen(n); i
我是一名优秀的程序员,十分优秀!