我不清楚在Django 1.5中如何最好地在基于类的视图中访问URL参数。
考虑以下:
视图:
from django.views.generic.base import TemplateView
class Yearly(TemplateView):
template_name = "calendars/yearly.html"
current_year = datetime.datetime.now().year
current_month = datetime.datetime.now().month
def get_context_data(self, **kwargs):
context = super(Yearly, self).get_context_data(**kwargs)
context['current_year'] = self.current_year
context['current_month'] = self.current_month
return context
URLCONF:
from .views import Yearly
urlpatterns = patterns('',
url(
regex=r'^(?P<year>\d+)/$',
view=Yearly.as_view(),
name='yearly-view'
),
)
我想year
在我的视图中访问参数,因此可以执行以下逻辑:
month_names = [
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
]
for month, month_name in enumerate(month_names, start=1):
is_current = False
if year == current_year and month == current_month:
is_current = True
months.append({
'month': month,
'name': month_name,
'is_current': is_current
})
例如,如何最好地访问CBV中被子类化的url参数,TemplateView
理想情况下应将逻辑放置在哪里?在某种方法上?
要在基于类的视图中访问url参数,请使用self.args
或,self.kwargs
这样你就可以通过self.kwargs['year']
接下来的两个小节,主要介绍 Django 中的几个常用的视图类,我们统一按照这样的方式进行讲解:首先使用该视图类,完成一个简单的例子,熟悉该类的使用;接下来深入源码分析,完整梳理该视图类的实现过程,顺带梳理 Django 中和该类相关的源码 。 1. TemplateView 类介绍和使用 TemplateView 视图类是用来渲染给定的模板文件,其上下文字典包含从 URL 中捕获的参数。首先来看
问题内容: 我正在寻找有关其他人如何设计此方法的意见。我将提供基于类(Django组)的视图。 例如,用户组将确定他或她将有权访问哪些视图/模板。我正在考虑也许在表中存储用于查看功能的路径,以确定用户的链接栏将由什么组成。过滤器规范也可以存储,以确定哪些行将填充这些模板。 医院护理单位就是一个很好的例子。一个单位的护士不必看整个医院的病人。他们只需要去看病人。同一部门的医生也只需要看望那些患者,但
提到 Django 和 Flask,Tornado 开发者印象最深的可能就要属这个视图函数了,使用简单但是难以扩展, 尤其这个 if request.method == 'GET' 着实不够优雅,引起使用起来非常受限。 这样一个明显的缺陷,不可能不被官方注意到,两者也确实提供了更强大的的视图类。 Django Django 1.8 的文档 中 提供了这样的示例: # some_app/views.
问题内容: 主视图是一个简单的分页ListView,我想向其中添加搜索表单。 我认为这样可以解决问题: 但是显然我错了..我在官方文档中找不到该怎么做的方法。 建议? 问题答案: 这些答案对引导我朝正确的方向大有帮助。谢谢大家 对于我的实现,我需要一个窗体视图,该窗体视图同时在get和post上返回ListView。我不喜欢重复get函数的内容,但需要进行一些更改。现在,self.form也可以从
问题内容: Django视图指向一个函数,如果您只想更改一些功能,则可能会出现问题。是的,函数中可以有数百万个关键字参数,如果有语句,甚至可以更多,但是我在想更多的面向对象方法。 例如,我有一个显示用户的页面。该页面与显示组的页面非常相似,但仍与仅使用另一个数据模型不太相似。小组也有成员等… 一种方法是将视图指向类方法,然后扩展该类。有没有人尝试过这种方法或有其他想法? 问题答案: 我已经创建并使
我试图理解如何使用这个链接在JSF应用程序上执行PRGhttps://blogs.oracle.com/enterprisetechtips/entry/post_redirect_get_and_jsf但不知怎的,我对三个问题感到困惑。 > 从博客中,我看到firebug在呈现页面时发出了302和GET重定向,而不是PRG的POST方法。博客中唯一的变化是bean的作用域从会话作用域变为请求作用