2010-01-11 2 views
2

양식을 통해 기존 개체를 편집하려고합니다. ImageField가 현재 값으로 채워지지 않는 것을 제외하고는 모든 것이 올바르게 작동합니다. 여기에보기django에서 개체를 편집 할 때 ImageField가 채워지지 않습니다.

@login_required 
def edit_profile(request, form_class=UserProfileForm, success_url=None, template_name='profiles/edit_profile.html', extra_context=None): 

try: 
    profile_obj = request.user.get_profile() 
except ObjectDoesNotExist: 
    return HttpResponseRedirect(reverse('profiles_create_profile')) 

if success_url is None: 
    success_url = reverse('profiles_profile_detail', 
          kwargs={ 'username': request.user.username }) 
if form_class is None: 
    form_class = utils.get_profile_form() 
if request.method == 'POST': 
    form = form_class(data=request.POST, files=request.FILES, instance=profile_obj) 
    if form.is_valid(): 
     form.save() 
     return HttpResponseRedirect(success_url) 
else: 
    form = form_class(instance=profile_obj) 

if extra_context is None: 
    extra_context = {} 
context = RequestContext(request) 
for key, value in extra_context.items(): 
    context[key] = callable(value) and value() or value 

return render_to_response(template_name, 
          { 'form': form, 
          'profile': profile_obj, }, 
          context_instance=context) 

있어 그리고 여기에 편집 양식의 화면 표시의

class Post(models.Model): 
    author = models.ForeignKey(User, editable=False) 
    slug = models.SlugField(max_length = 110, editable=False) 
    title = models.CharField(verbose_name='Blog Title', max_length=40, blank=False) 
    body = models.TextField(verbose_name='Body') 
    thumbnail = models.ImageField(upload_to = 'posts/%Y/%m') 

:

여기 모델입니다. http://yfrog.com/jnscreenshot20100110at102jp

이 객체는 썸네일이 첨부했지만 내가 편집 갔을 때, 아무것도

+0

스크린 샷에는 코드가 없습니다. 왜 렌더링 된 HTML을 게시하지 않습니까? 우리는 sheats 만 한 것을 할 수 있고 당신이'form.as_p'를 사용하고 있다고 가정합니다. –

답변

4

내가 대답은 파일 입력 필드는,이 값을 표시한다는 사실에있다 생각 축소판 필드에 나타나지 않았다 는 선택한 사용자 컴퓨터의 파일에 대한 로컬 경로를 표시합니다. 이 값은 Django에 저장되지 않으므로 장고는 편집시이 값을 폼에 표시 할 수 없으며 표시하지 않습니다.

양식을 전체적으로 인쇄하는 대신 템플릿에서 각 필드를 개별적으로 인쇄하면됩니다. 그런 다음 축소판 필드를 사용하여 현재 선택된 축소판을 페이지의 실제 이미지로 표시하고 파일 입력 필드를 사용하여 사용자가 새 이미지를 업로드 할 수있게하십시오.

관련 문제