当我在模板中调用模型get_absolute_url方法时,我希望有一个绝对/完整的URL.在我的入门模型我有以下:
def get_absolute_url(self):
return ('blog_entry_detail', (), { 'year': self.pub_date.strftime("%Y"),
'month': self.pub_date.strftime("%b").lower(),
'day': self.pub_date.strftime("%d"),
'slug': self.slug })
get_absolute_url = models.permalink(get_absolute_url)
Run Code Online (Sandbox Code Playgroud)
在我的模板文件中:
{{object.get_absolute_url}}
Run Code Online (Sandbox Code Playgroud)
我想输出前缀为'http://www.example.com'的网址
我想使用下面的行来获取当前的域名,但我不知道我会把它放在哪里.
from django.contrib.sites.models import Site
current_site = Site.objects.get_current().domain
Run Code Online (Sandbox Code Playgroud) 我已经在我的django项目中添加了django-social-auth来自本页的说明https://github.com/omab/django-social-auth但是当我加入/ login/google /我遇到了一个错误:NoReverseMatch at/login/google /'namespace'不是已注册的命名空间.
这是什么意思?
@login_required
def post_review(request):
if request.method == 'POST':
formset = ReviewForm(request.POST)
if formset.is_valid():
formset.save(commit=False)
#formset.author = User.objects.get(pk=int(request.user.id))
formset.pub_date = datetime.datetime.now
formset.save()
return HttpResponseRedirect(reverse(review_index))
else:
formset = ReviewForm()
return render_to_response("review/post_review.html",
{"formset": formset}, context_instance=RequestContext(request),
)
Run Code Online (Sandbox Code Playgroud)
我有这个观点,我想在我的评论表单作者字段中自动设置当前登录用户.但我不知道如何.有什么想法/提示吗?以下是我的表格:
class ReviewForm(ModelForm):
class Meta:
model = Review
fields = ('title','category', 'body', )
widgets = {
'body': Textarea(attrs={'cols': 60, 'rows': 20}),
}
Run Code Online (Sandbox Code Playgroud)