0
执行该POST
操作之后清洗数据 - request.POST
我有难以清洁某种形式的字段我有以下模式:
class Article(models.Model):
author = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE
)
title = models.CharField(max_length=120)
content = models.TextField()
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
image = models.ImageField(
upload_to='article_images',
blank=True,
null=True,
verbose_name='Image'
)
def get_absolute_url(self):
# return "/articles/%s/" %(self.slug)
return reverse("articles:detail", kwargs={'id': self.id})
def __str__(self):
return self.title
的形式,其打电话给我的模式是:
class ArticleForm(forms.ModelForm):
content = forms.CharField(widget=forms.Textarea)
ad = "Nuevo artículo"
class Meta:
model = Article
fields = ['title', 'content', 'image']
我创造的,我认为下面的方法的文章如:
def article_create(request):
form = ArticleForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
form.instance.author = request.user
print(form.cleaned_data.get('title'))
print(form.cleaned_data.get('content'))
instance.save()
# Cleaning?
form.cleaned_data.get('title')
form.cleaned_data.get('title')
我的模板是:
{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
{% load staticfiles %}
{% block title_tag %}Crear un artículo en {{ block.super }}{% endblock %}
{% block body_content %}
<div class="offert-form">
<h1>
{% if not form.instance.slug %}
{{ form.ad }}
{% else %}
Actualizar artículo
{% endif %}
</h1>
<form class="stayhost" method="POST" enctype="multipart/form-data">
<div class="head">
<div class="ofert-icon">
<img src="{% static 'img/icons/lang.svg' %}" alt="">
<div class="title">
<h2>Contenidos</h2>
<span>Crear un Artículo</span>
</div>
</div>
<div class="submit-button-cont">
<div>
<input type="image" src="{% static 'img/icons/ok.png' %}" alt="Submit" width="48" height="48">
<input type="submit" value="Guardar" class="submit-button">
</div>
</div>
</div>
{% csrf_token %}
<div class="formgroup">
{% bootstrap_field form.title %}
</div>
<div class="formgroup">
{% bootstrap_field form.content %}
</div>
<div class="formgroup">
{% bootstrap_field form.image %}
</div>
</form>
</div>
{% endblock %}
当我做POST从我的表单,字段不是在形式的清洁。 如何清理窗体中的标题,内容和图像字段?
是的,这个示例是伟大的,当我使用基于类的视图,在我没有清楚如何使用基于函数的视图中的清洁数据。对于新手的情况,我表示歉意 – bgarcial