您的位置:首页 > 编程语言 > Go语言

django技巧

2015-12-31 13:48 561 查看

1,return其他views(注意代码段里面的星号)

def index(request):
category_list = Category.objects.order_by('-likes')[:5]
page_list = Page.objects.order_by('-views')[:5]

...

response = render(request, 'rango/index.html', context_dict)
return response

def add_category(request):
if request.method == 'POST':
form = CategoryForm(request.POST)

if form.is_valid():
form.save(commit=True)
**return index(request)**
else:
print form.errors
else:
form = CategoryForm()

return render(request, 'rango/add_category.html', {'form': form})


2,HiddenInput

forms.py

class PageFrom(forms.ModelForm):
title = forms.CharField(max_length=128, help_text="Please enter the title of the page.")
url = forms.URLField(max_length=200, help_text="Please enter the URL of the page.")
views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)

class Meta:
model = Page

exclude = ('category',)

def clean(self):
cleaned_data = self.cleaned_data
url = cleaned_data.get('url')

# If url is not empty and doesn't start with 'http://', prepend 'http://'.
if url and not url.startswith('http://'):
url = 'http://' + url
cleaned_data['url'] = url

return cleaned_data


tempalte

<form id="category_form" method="post" action="/rango/add_category/">

{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}

{% for field in form.visible_fields %}
{{ field.errors }}
{{ field.help_text }}
{{ field }}
{% endfor %}

<input type="submit" name="submit" value="Create Category" />
</form>


3,templatetags

app_name/templatetags/***_extras.py

from django import template
from rango.models import Category

register = template.Library()
# 等于include的时候带上了query set等数据
@register.inclusion_tag('rango/cats.html')
def get_category_list():
return {'cats': Category.objects.all()}


template

{# import #}
{% load "***_extras" %}
{# use #}
{% get_category_list %}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: