我不知道如何准确地调用它,但我想要做的是当我在下面的模型中输入website
属性中的内容时,我希望输入部分通知我它是否已经存在或不。每当我输入一个角色时,它必须检查存在,因为在填写除website
属性之外的所有输入部分时,通知我有关存在的时间是浪费时间。
Django表格或某些东西是否已经支持此功能?如果没有,任何人都可以指导我实现此功能的有效方法吗?
class Store(models.Model):
...
website = models.CharField(max_length=100)
...
更新
views.py
class StoreCreateView(UserPassesTestMixin, CreateView):
model=Store
template_name='cms/store_new.html'
fields='__all__'
success_url=reverse_lazy('cms:store')
def get(self, request, *args, **kwargs):
val = request.GET.get('val')
exist = Store.objects.filter(website__iexact=val).exists()
# return HttpResponse({'exist':exist})
return render(request, 'cms/store_new.html', {'exist': exist})
def test_func(self):
return self.request.user.is_staff
答案 0 :(得分:0)
正如评论中已经提到的,您需要使用AJAX,这是一个示例:收听目标输入的任何事件。
$(document).on("keypress",'id_input',function(){
var val = $(this).val();
$.ajax({
url:"",
type:"GET",
data:{
val:val,
},
success:function(data){
if(data.exist)
alert('Already Exist')
},
});
});
然后在您的视图中,您需要检索数据并检查它是否存在,并返回Json Response
from django.http import JsonResponse
class StoreCreateView(UserPassesTestMixin, CreateView):
model=Store
template_name='cms/store_new.html'
fields='__all__'
success_url=reverse_lazy('cms:store')
def get(self, request, *args, **kwargs):
if request.is_ajax():
val = request.GET.get('val')
exist = Store.objects.filter(website__iexact=val).exists()
return HttpResponse({'exist':exist})
return JsonResponse({'exist':exist})
return render(request, 'cms/store_new.html', {'exist': exist})
def test_func(self):
return self.request.user.is_staff