我想要实现的是:我的新闻应用程序应该显示一个slug,但只能通过ID以/ news/24/this-is-the-slug的形式查询文章
不幸的是,我NoReverseMatch: Reverse for 'news_detail' with arguments '('',)' and keyword arguments '{}' not found.在尝试浏览文章时遇到了问题.如上所述,模板中生成的URL看起来是正确的(我可以通过Haystack进行搜索来确认这一点,Haystack提供正确的URL).
models.py
class News(models.Model):
id = models.IntegerField(primary_key=True, editable=False)
category = models.CharField(max_length=50L)
title = models.CharField(max_length=200L)
rss_summary = models.TextField(max_length=2000L)
body_text = models.TextField(max_length=5000L)
post_date = models.DateTimeField()
prettyurl = models.SlugField(max_length=100L)
class Meta:
db_table = 'news'
def __unicode__(self):
return self.title
def get_absolute_url(self):
return urlresolvers.reverse('news_detail', kwargs={'pk': self.id, 'slug': self.prettyurl })
Run Code Online (Sandbox Code Playgroud)
urls.py
urlpatterns = patterns(
'',
url(
r'^$',
view=views.NewsListView.as_view(),
name='news_index'),
url(
r'^(?P<pk>\d+)/',
view=views.NewsDetailView.as_view(),
name='news_detail'),
url(
r'^(?P<pk>\d+)/(?P<slug>[-\w]+)/$',
view=views.NewsDetailView.as_view(),
name='news_detail'),
url( …Run Code Online (Sandbox Code Playgroud) 我有一个 Django 项目,它是在没有 virtualenv 的情况下启动的。现在迁移到virtualenv,我之前创建的requirements.txt很大并且无法安装在virtualenv中(有很多错误,如下所示)。如何生成所需包的最小列表?或者有什么地方可以参考吗?
Could not find any downloads that satisfy the requirement PIL==1.1.7 (from -r requirements.txt (line 8))
Some externally hosted files were ignored (use --allow-external PIL to allow).
Cleaning up...
No distributions at all found for PIL==1.1.7 (from -r requirements.txt (line 8))
Run Code Online (Sandbox Code Playgroud)
不仅仅是 PIL 会引发错误,如果我评论它,另一个包会显示,我不知道我的应用程序真正使用的是什么。
提前致谢!