返回顶部

收藏

Django CheatSheet

更多
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.contrib.auth.models import User
from django.http import HttpRequest
from django.conf import settings

request.GET.keys()
return render_to_response('content/auktionen/erstellen/wizard/zusammenfassung.html', locals())
return render('content/auktionen/erstellen/cc_wizard/zusammenfassung.html', locals(), request)
return HttpResponseRedirect('/login/?next=%s' % request.path)
request.GET.get('q', '')
username = request.POST['username']
request.method == 'POST'
HttpRequest.is_ajax()

p = get_object_or_404(Poll, pk=poll_id)
get_list_or_404()
return render_to_response('polls/detail.html', {'poll': p})
#------------- User ---------------------
if request.user.is_authenticated():

#User objects have two many-to-many fields: models.User. groups and user_permissions. User objects can access their related #objects in the same way as any other Django model:
myuser.groups = [group_list]
myuser.user_permissions = [permission_list]

from django.contrib.auth.decorators import user_passes_test

@user_passes_test(lambda u: u.has_perm('polls.can_vote'))
def my_view(request):

from django.contrib.auth.decorators import permission_required
def my_view(request):
    # ...
my_view = permission_required('polls.can_vote', login_url='/loginpage/')(my_view)

#-------------Model--------------------
cheese_blog = Blog.objects.get(name="Cheddar Talk")
Entry.objects.all()
Entry.objects.filter(pub_date__year=2006)
Blog.objects.filter(entry__author__name='Lennon')

>>> b = Blog.objects.get(id=1)
>>> b.entry_set.all() # Returns all Entry objects related to Blog.

#Many to Many
e = Entry.objects.get(id=3)
e.authors.all() # Returns all Author objects for this Entry.
e.authors.count()
e.authors.filter(name__contains='John')
a = Author.objects.get(id=5)
a.entry_set.all() # Returns all Entry objects for this Author.
#----------- Templates -------------

{% if user.is_authenticated %}
{% for group in user.groups.all %}
 {{group}}
{% endfor %}

settings.LOGIN_URL.

#-------------Forms-------------------
from django import forms
from django.forms import ModelForm

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    cc_myself = forms.BooleanField(required=False)

f = ContactForm({'subject': 'hello'})

def contact(request):
    if request.method == 'POST': # If the form has been submitted...
        form = ContactForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            return HttpResponseRedirect('/thanks/') # Redirect after POST
    else:
        form = ContactForm() # An unbound form

    return render_to_response('contact.html', {
        'form': form,
    })

#------
<form action="/contact/" method="POST">
{{ form.as_p }}
<input type="submit" value="Submit" />

#------
<form action="/contact/" method="POST">
    <div class="fieldWrapper">
        {{ form.subject.errors }}
        <label for="id_subject">E-mail subject:</label>
        {{ form.subject }}
    </div>
</form>
#-----
<form action="/contact/" method="POST">
    {% for field in form %}
        <div class="fieldWrapper">
            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}
        </div>
    {% endfor %}
    <p><input type="submit" value="Send message" /></p>
</form>
#----
<form action="/comments/add/" method="POST">
    {% with comment_form as form %}
        {% include "form_snippet.html" %}
    {% endwith %}
    <p><input type="submit" value="Submit comment" /></p>
</form>
#----
class CommentForm(forms.Form):
    name = forms.CharField(
                widget=forms.TextInput(attrs={'class':'special'}))
    url = forms.URLField()
    comment = forms.CharField(
               widget=forms.TextInput(attrs={'size':'40'}))
#----Model Forms-----
# Create the form class.
class ArticleForm(ModelForm):
    class Meta:
        model = Article

# Creating a form to add an article.
form = ArticleForm()
# Creating a form to change an existing article.
article = Article.objects.get(pk=1)
form = ArticleForm(instance=article)

# Create a form instance from POST data.
f = ArticleForm(request.POST)

# Save a new Article object from the form's data.
new_article = f.save()

# Create a form to edit an existing Article.
a = Article.objects.get(pk=1)
f = ArticleForm(instance=a).save()

# Create a form to edit an existing Article, but use
# POST data to populate the form.
a = Article.objects.get(pk=1)
f = ArticleForm(request.POST, instance=a)
f.save()
#------
class Musician(models.Model):
  id = models.AutoField(primary_key=True)
  first_name = models.CharField("Person's first name", max_length=30)
  poll = models.ForeignKey(Poll)
  toppings = models.ManyToManyField(Topping)
  gender = models.CharField(max_length=1, choices=(('M', 'Male'),('F', 'Female'))
  class Meta:
        ordering = ["horn_length"]
        verbose_name_plural = "oxen"

标签:python,Django

收藏

0人收藏

支持

0

反对

0