Форум сайта python.su
Иду по инструкции, но в упор не хочет прорисовывать модальную форму для модели приложения. Где ошибка?
models.py
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField(default=0)
def __unicode__(self):
return self.title
————————————————————–
forms.py
from django.forms import ModelForm
from article.models import Article
class ArticleForm(ModelForm):
class Meta:
model = Article
fields = “__all__”
————————————-
views.py
def create(request):
if request.method=='POST':
form = ArticleForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/articles/all')
else:
form = ArticleForm()
args = {}
args.update(csrf(request))
args = form
return render_to_response('create_article.html',args)
————————————————————————————————-
html
{% block sidebar %}
<ul>
<li> <a href=“/articles/all”>Cancel</a> </li>
</ul>
{% endblock %}
{% block content %}
<form action=“/articles/create/” method=“post”> {% csrf_token %}
<ul>
{{ form.as_ul }}
</ul>
<input type=“submit” name=“submit” value=“Create Article”/>
</form>
В итоге на странице только кнопка Create Article
Прикреплённый файлы: forms.JPG (22,9 KБ)
Офлайн
Офлайн
args = {} args.update(csrf(request)) args = form
Офлайн
Еще раз код
from django.db import models # Create your models here. class Article(models.Model): title = models.CharField(max_length=200) body = models.TextField() pub_date = models.DateTimeField('date published') likes = models.IntegerField(default=0) def __unicode__(self): return self.title
from django.forms import ModelForm from article.models import Article class ArticleForm(ModelForm): class Meta: model = Article fields = "__all__"
def create(request): if request.method=='POST': form = ArticleForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/articles/all') else: form = ArticleForm() args = {} args.update(csrf(request)) args['from'] = form return render_to_response('create_article.html',args)
{% extends "base.html" %} {% block sidebar %} <ul> <li> <a href="/articles/all">Cancel</a> </li> </ul> {% endblock %} {% block content %} <form action="/articles/create/" method="post"> {% csrf_token %} <ul> {{ form.as_ul }} </ul> <input type="submit" name="submit" value="Create Article"/> </form> {% endblock %}
Офлайн
1. Вот это вот зачем
args.update(csrf(request))
2. почему вы в контекст вставляете from, а из контекста пытаетесь получить form?
Офлайн
FishHook
1. Вот это вот зачем
args.update(csrf(request))
2. почему вы в контекст вставляете from, а из контекста пытаетесь получить form?
Офлайн