나는 게시물이있는 이미지를 업로드하여 완전히 작동하는 블로그를 만드는 데 아주 가깝습니다. 그러나 이미지를 업로드하기 위해 뷰와 모델을 제대로 작동시키지 못해 전진 할 수 없습니다.Django - "1 개의 필수 위치 인수가 없습니다 : 'self'"오류, 이미지 업로드 중
오류가 발생했습니다.
TypeError at /new/
save() missing 1 required positional argument: 'self'
Request Method: POST
Request URL: http://127.0.0.1:8000/new/
Django Version: 1.9.8
내 모델 클래스.
class Post(models.Model):
author = models.ForeignKey('auth.User')
title = models.CharField(max_length = 200)
text = models.TextField()
docfile = models.FileField(upload_to='documents/%Y/%m/%d')
created_date = models.DateTimeField(default = timezone.now)
published_date = models.DateTimeField(blank = True, null = True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
형태.
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title' ,'text','docfile',)
보기.
def new_post(request):
if request.method == 'POST':
form = PostForm(request.POST, request.FILES)
if form.is_valid():
post = PostForm.save(commit = False)
post.docfile = request.FILES["docfile"]
post.author = request.user
post.published_date = timezone.now()
post.save()
return redirect('post_detail', pk = post.pk)
else:
form = PostForm()
return render(request, 'core/post_edit.html', {'form' : form})
HTML 템플릿
{% extends 'core/main.html' %}
{% block content %}
<h1>New Post</h1>
<form method="POST" class="post-form" enctype="multipart/form-data">{% csrf_token %}
{{form.as_p}}
<button type="submit" class="save btn btn-default">Save</button>
</form>
{% endblock %}
나는 너무 가까이 해요,하지만 난 틀렸다 곳 난 그냥 알아낼 수 없습니다. Help. 대신
def new_post(request):
if request.method == 'POST':
form = PostForm(request.POST, request.FILES)
if form.is_valid():
post = PostForm.save(commit = False)
의
전체 추적을 표시하십시오. – Alasdair