def modify_topic(request): topic_id = request.REQUEST.get('topic_id') name = request.REQUEST.get('name') domain = request.REQUEST.get('domain') des = request.REQUEST.get('des') state = request.REQUEST.get('state') sort = request.REQUEST.get('sort') parent_topic_id = request.REQUEST.get('parent_id') tb = TopicBase() obj = tb.get_topic_by_id_or_domain(topic_id, False) img_name = obj.img img = request.FILES.get('img') if img: flag, img_name = qiniu_client.upload_img(img, img_type='topic') img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name) code, msg = tb.modify_topic(topic_id, name, domain, des, img_name, state, parent_topic_id, sort) if code == 0: url = "/admin/topic?#modify/%s" % (topic_id) else: url = "/admin/topic?%s#modify/%s" % (msg, topic_id) return HttpResponseRedirect(url)
def question_type_nav_display(context): """ @note: 问题类型导航方式展现 """ from www.question.interface import TopicBase aqts = TopicBase().get_all_question_type() return render_to_response('question/_question_type_nav_display.html', locals(), context_instance=context).content
def global_hot_topics(context): """ @note: 热门话题 """ from www.question.interface import TopicBase global_hotest_topics = TopicBase().get_all_topics_for_show()[:5] return render_to_response('question/_global_hot_topics.html', locals(), context_instance=context).content
def get_topic_by_id(request): data = "" topic_id = request.REQUEST.get('topic_id') obj = TopicBase().get_topic_by_id_or_domain(topic_id, False) if obj: data = format_topic([obj], 1)[0] return HttpResponse(json.dumps(data), mimetype='application/json')
def get_topics_by_name(request): topic_name = request.REQUEST.get('topic_name') result = [] topics = TopicBase().get_topics_by_name(topic_name) if topics: for x in topics: result.append([x.id, x.name, None, x.name]) return HttpResponse(json.dumps(result), mimetype='application/json')
def search(request): topic_name = request.POST.get('topic_name') page_index = int(request.POST.get('page_index', 1)) data = [] if topic_name: objs = TopicBase().get_topic_by_name(topic_name) objs = [objs] if objs else [] else: objs = TopicBase().get_all_topics() page_objs = page.Cpt(objs, count=10, page=page_index).info num = 10 * (page_index - 1) data = format_topic(page_objs[0], num) return HttpResponse( json.dumps({'data': data, 'page_count': page_objs[4], 'total_count': page_objs[5]}), mimetype='application/json' )
def add_topic(request): name = request.REQUEST.get('name') domain = request.REQUEST.get('domain') des = request.REQUEST.get('des') state = request.REQUEST.get('state') sort = request.REQUEST.get('sort') parent_topic_id = request.REQUEST.get('parent_id') tb = TopicBase() img_name = '' img = request.FILES.get('img') if img: flag, img_name = qiniu_client.upload_img(img, img_type='topic') img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name) flag, msg = tb.create_topic(name, domain, parent_topic_id, img_name, des) if flag == 0: url = "/admin/topic?#modify/%s" % (msg) else: url = "/admin/topic?%s" % (msg) return HttpResponseRedirect(url)
def get_sitemap_url(): from www.question.interface import TopicBase from www.question.models import Question from www.stock.models import StockFeed, Stock from www.toutiao.models import Article data = [] for question in Question.objects.filter(state=True).order_by('-id'): data.append([ u'%s/question/%s' % (settings.MAIN_DOMAIN, question.id), question.last_answer_time ]) for topic in TopicBase().get_all_topics_for_show(): data.append([ u'%s/topic/%s' % (settings.MAIN_DOMAIN, topic.domain), datetime.datetime.now().strftime('%Y-%m-%d') ]) for stock in Stock.objects.filter(state=True).order_by("-id"): data.append([ u'%s%s' % (settings.MAIN_DOMAIN, stock.get_url()), datetime.datetime.now().strftime('%Y-%m-%d') ]) for stock_feed in StockFeed.objects.filter( state=True).order_by("-create_time")[:2000]: data.append([ u'%s%s' % (settings.MAIN_DOMAIN, stock_feed.get_url()), stock_feed.create_time.strftime('%Y-%m-%d') ]) for article in Article.objects.filter(state=True).order_by("-id")[:2000]: data.append([ u'%s%s' % (settings.MAIN_DOMAIN, article.get_url()), article.create_time.strftime('%Y-%m-%d') ]) return data
# -*- coding: utf-8 -*- import sys import os # 引入父目录来引入其他模块 SITE_ROOT = os.path.dirname(os.path.abspath(__file__)) sys.path.extend([ os.path.abspath(os.path.join(SITE_ROOT, '../')), os.path.abspath(os.path.join(SITE_ROOT, '../../')), ]) os.environ['DJANGO_SETTINGS_MODULE'] = 'www.settings' from www.question.models import Question, QuestionType, Tag, TagQuestion, Topic, TopicQuestion from www.question.interface import TopicBase tb = TopicBase() def init_question_type(): if not Topic.objects.filter(domain='root'): root = Topic.objects.create(name=u"全部", domain="root", des="根话题", level=0) for qt in QuestionType.objects.all(): if not Topic.objects.filter(domain=qt.domain): Topic.objects.create(name=qt.name, domain=qt.domain, parent_topic=root,
# -*- coding: utf-8 -*- import sys import os # 引入父目录来引入其他模块 SITE_ROOT = os.path.dirname(os.path.abspath(__file__)) sys.path.extend([os.path.abspath(os.path.join(SITE_ROOT, '../')), os.path.abspath(os.path.join(SITE_ROOT, '../../')), ]) os.environ['DJANGO_SETTINGS_MODULE'] = 'www.settings' from www.question.models import Question, QuestionType, Tag, TagQuestion, Topic, TopicQuestion from www.question.interface import TopicBase tb = TopicBase() def init_question_type(): if not Topic.objects.filter(domain='root'): root = Topic.objects.create(name=u"全部", domain="root", des="根话题", level=0) for qt in QuestionType.objects.all(): if not Topic.objects.filter(domain=qt.domain): Topic.objects.create(name=qt.name, domain=qt.domain, parent_topic=root, level=tb.get_topic_level_by_parent(root)) for tag in Tag.objects.select_related('question_type').all(): if not Topic.objects.filter(domain=tag.domain): parent_topic = Topic.objects.get(domain=tag.question_type.domain) state = 2 if tag.domain in ('gpzh', 'qhzh', 'lczx') else 1