Ну, я сталкиваюсь с проблемой, когда выполняется выполнение Ajax с html-страницы, следующая инструкция функции представления не выполняется.Django view не возвращает оператор возврата после Ajax-get
Вот model.py
from django.db import models
from django.utils import timezone
class user(models.Model):
FB_name=models.CharField(max_length=20)
FB_link=models.URLField()
FB_usrname=models.CharField(max_length=50)
FB_usrID=models.IntegerField()
FB_email=models.CharField(max_length=100)
reg_date = models.DateTimeField(default=timezone.now)
def __unicode__(self):
return "{0} {1} {2} {3} {4}{5}".format(self,self.FB_name, self.FB_link, self.FB_usrname,self.FB_usrID,self.FB_email)
Views.py
from django.shortcuts import render
from django.core.context_processors import csrf
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import View
from django.utils import timezone
from django.http import HttpResponse
from .models import user
class login_call(View):
def get(self, request):
return render(request, 'login/login.html', {})
class user_details(View):
def get(self, request):
if request.GET :
usrID = request.GET['FB_usrID']
me=user.objects.filter(FB_usrID=usrID).values()
if not me:
hello=user.objects.create(FB_name=request.GET['FB_name'],
FB_link=request.GET['FB_link'],
FB_usrname=request.GET['FB_usrname'],
FB_usrID=request.GET['FB_usrID'],
FB_email=request.GET['FB_email'],
reg_date=timezone.now())
hello.save()
response = 0
else:
response = 1
return render(request,'homepage/hom.html')
return HttpResponse('response', content_type="application/json")
class dashboard(View):
def get(self, request):
return render(request,'homepage/hom.html')
urls.py
from django.conf.urls import include, url
from django.contrib import admin
from event.views import user_details
from event.views import login_call
from event.views import dashboard
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^user_details/$',user_details.as_view()),
url(r'',login_call.as_view()),
url(r'^home$',dashboard.as_view()),
]
наконец GET функция JQuery: -
$.ajax({
url:'/user_details/',
type: 'GET',
cache:'false',
data: {
FB_usrID:'554113199893',
FB_name:'Tharun',
FB_link:'[email protected]',
FB_usrname:'tharun cow',
FB_email:'[email protected]',
},
success:function(response){
if(response == 0)
{
document.getElementById("message").innerHTML += "<br>Sent";
}
else
{
document.getElementById("message").innerHTML += "<br>Fail";
}
},
complete:function(){},
error:function (xhr, textStatus, thrownError){}
});
по щелчку fucntion данных передается на сервер с помощью Ajax-получить ответ сервера: -
"GET /user_details/?FB_usrID=554113199893&FB_name=Tharun&F
B_link=tharun%40someshit.com&FB_usrname=tharun+lawrence&
FB_email=tharun%40gmail.com HTTP/1.1" 200 11476
цель этого АЯКС-получаете разместить информацию Facebook пользователей с помощью Jquery фб апи Джанго для хранения в db и аутентификации на домашней странице.
Пожалуйста исправить отступы –
i'am новый StackOverflow, будет делать правильно это благодаря вам :) –