मैं django के लिए काफी नया हूं और कुछ आसान करने के लिए संघर्ष कर रहा हूं। मैं निम्नलिखित मॉडल के लिए एक ModelForm
है:django: एक ही पृष्ठ में इनपुट लेना और आउटपुट दिखाना
class Queries(models.Model):
user_id=models.CharField(max_length=200)
query=models.CharField(max_length=200)
और मैं उपयोगकर्ता कि निम्न कार्य करने में मदद मिलेगी एक सरल रूप दिखा रहा हूँ:
- उपयोगकर्ता एक सवाल
पूछना होगा प्रश्न संसाधित किया जाएगा (प्रश्न के आधार पर एक डेटाबेस क्वेरी उत्पन्न की जाएगी)
फिर क्वेरी परिणाम shou एलडी उसी पृष्ठ में फॉर्म के नीचे दिखाया जा सकता है।
इस तरह मेरी views.py की तरह दिखता है:
from django.http import HttpResponse
from django.shortcuts import get_object_or_404, render
from basicapp.models import QueryForm
def index(request):
form=MyForm()
real_form=form.getForm(request)
response=form.response
return render(request,'basicapp/index.html',{
'form': real_form,
'response':response,
})
class MyForm:
response=''
def getForm(self,request):
form = QueryForm(request.POST)
if form.is_valid():
response=form.cleaned_data['query']
form.save()
return form
अब मैं, सरल सामान कोशिश कर रहा हूँ मैं फार्म की क्वेरी फ़ील्ड में मान ले रहा हूँ और करने के लिए इसे भेजने की कोशिश कर वापस लिए पृष्ठ; अब तक मैं असफल रहा हूं। यह index.html है:
<form action=" " method="post">{% csrf_token %}
{{ form }}
<p>{{response}}</p>
<input type="submit" value="Submit" />
</form>
मैं यह कर सकता है, तो मुझे लगता है कि क्वेरी सामान अभ्यस्त हो कि tough.The प्रपत्र ठीक काम कर रहा है, datas डेटाबेस में बचाया जा रहा है। प्रपत्र जमा करने के बाद index.html
के अंदर views.py
से केवल response
स्ट्रिंग को पुनर्प्राप्त नहीं किया जा सका। क्या आप कृपया मदद कर सकते हैं?
संपादित करें: हॉफ के उत्तर के आधार पर index.html
में निम्नलिखित की कोशिश की:
<form id="myForm" action=" " method="get">{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
<div id="response">
</div>
<script language="JavaScript">
$(document).ready(function() {
$("#myForm").submit(function() { // catch the form's submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: $(this).attr('GET'),
success: function(response) { // on success..
$("#response").html(response); // update the DIV
}
});
return false;
});
});
</script>
फिर भी प्रयास विफल :(
पोस्ट के बजाय जीईटी का प्रयोग करें। मुझे लगता है कि आप एक खोज कर रहे हैं – catherine
धन्यवाद :) संपादित। –