페이지 - django<form action




장고 양식 아약스 (2)

Ajax 통화를 시도 했습니까?

서버는 클라이언트에 대한 결과를 제공하기 만하면 클라이언트 코드에 달려 있습니다.

  • 페이지를 새로 고침하는 포스트 백인지
  • 또는 iframe에서 상위 문서의 프레임을 새로 고칩니다.
  • 또는 $ (targetElement) .html ($ someResultFromServer)에 의해 삽입하는 태그와 같은 html 태그

대부분의 경우 서버는 클라이언트가 무엇이고 어떻게 보이는지 (부자인지 얇은 지) 신경 쓰지 않습니다. 클라이언트 대신 자바 스크립트, 쿼리 및 CSS 코드가 필요합니다. 그 반대도 마찬가지입니다. 대부분의 경우 클라이언트는 서버가 무엇인지, 서버가 어떻게 보이는지 상관하지 않습니다. 느슨하게 결합되었습니다.

ajax 호출의 경우 다음 링크를 따라 가면됩니다. http://api.jquery.com/jQuery.ajax/

django와 함께 ajax 코드를 추가 할 수 있습니까? 나는 5 개의 필드가있는 간단한 등록 양식을 만들었습니다. 각 필드를 다른 페이지에 있지만 단일 창에 표시하고 싶습니다. 그것은 다음 버튼을 사용하여 하나의 창에 disply하려는 5 페이지를 의미합니다. 같은 시간에 모든 페이지의 모든 내용을 내 데이터베이스에 추가하고 싶습니다. django에서 Ajax를 사용하면 가능합니다.

내 코드는 다음과 같습니다.

      #view 

        from django.shortcuts import render_to_response
        from registration.models import UserDetails
        from forms import UserForm
        from django import forms
        from django.template import RequestContext
        from django.http import HttpResponseRedirect

        def user_details(request):
            if request.method == 'POST':
                form = UserForm(request.POST)
                if form.is_valid():
                    form.save()


            else:
                form = UserForm()        
            return render_to_response("career.html", {"form": form},context_instance=RequestContext(request))



#form 

     from django import forms
     from registration.models import UserDetails

     class UserForm(forms.ModelForm):
        pass

        class Meta:
            model = UserDetails



#model 

        from django.db import models

        class UserDetails(models.Model):
            fname=models.CharField(max_length=20)
            lname=models.CharField(max_length=20)
            email = models.EmailField()
            address = models.CharField(max_length=50)
            country = models.CharField(max_length=20)
            def __unicode__(self):
                return self.fname
                return self.lname
                return self.email
                return self.address
                return self.country



 #url

        from django.conf.urls.defaults import patterns, include, url

        from django.contrib import admin
        admin.autodiscover()

        urlpatterns = patterns('',
            # Examples:
             url(r'^registration/$', 'registration.views.user_details', name='user_details'),

            url(r'^admin/', include(admin.site.urls)),
        )



 # template 

        <form enctype="multipart/form-data" method="post">{% csrf_token %}
            {{ form.as_p }}
           <input type="submit" ....>
        </form>

마틴 Thurau 귀하의 질문에 매우 이해하기 어렵다고 언급했다. 어쨌든 나는 당신이 요구하는 것이 계단 모양이라고 생각한다.

Django의 Form Wizard를 살펴 보시기 바랍니다.