내보기는 기능 기반보기입니다 (CBV가 아닌 기존 방식으로 인라인으로 사용하기 때문에보기 편한 방법입니다). 내 목표는 모델 객체 Article.objects.get (user = user) .latest ("id")에 대한 ModelForm을 렌더링하고 POST 메소드를 사용하여 렌더링 된 동일한 객체를 업데이트하는 것입니다. 문제는 ModelForm이 해당 개체를 "기억하지 못한다"는 것입니다. POST 메서드에서 사용하기 위해 개체에 대한 정보를 뷰에 전달하는 올바른 방법은 무엇입니까? 이하 Django보기에서 객체 ID 추적하기
가 views.py의 간략화 된 버전과 urls.py이다views.py
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
from django.template import RequestContext
from specify.models import Article
from specify.forms import ArticleForm
def index(request):
user = User.objects.get(username=request.user.username)
if request.method == "POST":
a_form = ArticleForm(request.POST, instance= *???*)
a_form.save()
else:
a = Article.objects.get(user=user).latest("id")
a_form = ArticleForm(instance=a)
return render_to_response(
"specify/index.html",
{
"a_form" : a_form,
},
context_instance=RequestContext(request)
)
urls.py
from django.conf.urls import patterns, url
from specify import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index')
)
EDIT1 : 첨가하고 models.py forms.py
models.py
from django.db import models
class Article(models.Model):
pub_date = models.DateField()
headline = models.CharField(max_length=200)
content = models.TextField()
forms.py
from django.forms import ModelForm
from specify.models import Article
class ArticleForm(ModelForm):
class Meta:
model = Article
fields = ['pub_date', 'headline', 'content']
코멘트를 남겨 ? DB에 저장 하시겠습니까? – Khamidulla
좋아, 모델 및 ArticalForm 정의를 게시 할 수 있습니까? – Khamidulla
@Phoenix : models.py 및 forms.py가 추가되었습니다. 감사. – jazzblue