You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.7 KiB

#-*- coding: utf-8 -*-
# from django.core.urlresolvers import reverse
# from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404
from django.views import generic
from django.http import HttpResponse
import json
from .models import *
class SearchDetailView(generic.DetailView):
model = Keyword
context_object_name = 'post'
template_name = 'trademark/search_detail.html'
slug_field = 'slug'
view_url_name = 'trademark:search-detail'
class IndexView(generic.ListView):
template_name = 'trademark/index.html'
context_object_name = 'trademarks'
def get_queryset(self):
return []
class Search(generic.View):
# def get(self, request):
# <view logic>
# return HttpResponse('result')
def get(self, request, slug):
keyword = get_object_or_404(Keyword, slug=slug)
try:
ids = [str(key) for key in keyword.searches.all().values_list('search_id', flat=True)]
return HttpResponse(json.dumps({ 'search_ids': ids, 'status': 'finished' }), content_type='application/json')
except:
return HttpResponse(json.dumps({ 'status': 'error', 'description': 'Request not found', 'slug': slug }), content_type="application/json")
def post(self, request):
keyword = request.POST.get('keyword', '')
if keyword:
k = Keyword.objects.get_or_create(request=keyword)
k.save()
else:
return HttpResponse(json.dumps({ 'status': 'error', 'description': 'Empty request', 'ext': json.dump(request.POST)}), content_type="application/json")
return HttpResponse(json.dumps({ 'status': 'ok' }), content_type="application/json")