Example #1
0
def posting(request):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
    messages.get_messages(request)

    if request.method == 'POST':
        user = AuthUser.objects.get(username=username)
        print(user)
        diary = Diary(user=user)
        print(user, diary)
        post_form = DiaryForm(request.POST, instance=diary)
        print(post_form)
        if post_form.is_valid():
            post_form.save()
            messages.add_message(request, messages.SUCCESS, '日记发布成功')
            return HttpResponseRedirect('/')
        else:
            messages.add_message(request, messages.INFO,
                                 '如果需要发布日记,就需要把所有的字段都填写完!')
    else:
        post_form = DiaryForm()
        messages.add_message(request, messages.INFO, '如果您要张贴日记,需要把每个字段都填写完')

    template = get_template('posting.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
Example #2
0
def posting(request):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
    messages.get_messages(request)
        
    if request.method == 'POST':
        user = User.objects.get(username=username)
        diary = models.Diary(user=user)
        post_form = forms.DiaryForm(request.POST, instance=diary)
        if post_form.is_valid():
            messages.add_message(request, messages.INFO, "日记已保存")
            post_form.save()  
            return HttpResponseRedirect('/')
        else:
            messages.add_message(request, messages.INFO, '要张贴日记,每一个字段都要填...')
    else:
        post_form = forms.DiaryForm()
        messages.add_message(request, messages.INFO, '要张贴日记,每一个字段都要填...')

    template = get_template('posting.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)

    return HttpResponse(html)
Example #3
0
def aboutMe(request):
    """It shows the about me page."""

    template = loader.get_template('games/about.html')
    context = RequestContext(request)
    context.push({})
    return HttpResponse(template.render(context))
Example #4
0
def updatepollitem(request, pollid=None):
    path = request.path
    poll = Poll.objects.get(id=pollid)
    pollitems = PollItem.objects.filter(poll=poll)
    try:
        if request.method == 'POST':
            pollitem = PollItem(poll=poll)
            form = PollitemForm(request.POST, instance=pollitem)
            if form.is_valid():
                messages.add_message(request, messages.SUCCESS, '添加选项成功~')
                form.save()
                return redirect(path)
        else:
            form = PollitemForm()
            messages.add_message(request, messages.INFO, '上方填入选项信息')
    except:
        form = PollitemForm()
        messages.add_message(request, messages.WARNING, '没有找到该话题')
        return redirect('/addpoll')

    template = get_template('updatepollitem.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
    def _render_template(self, string, context=None):

        ctx = RequestContext(self.request)
        if context:
            ctx.push(context)

        return Template(string).render(ctx)
Example #6
0
def login(request):
    # next = request.GET.get('next')
    if request.method == 'POST':
        login_form = Login_form(request.POST)
        if login_form.is_valid():
            user_name = request.POST['username'].strip()
            user_password = request.POST['password']
            user = authenticate(username=user_name, password=user_password)

            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    messages.add_message(request, messages.SUCCESS, '登陆成功')
                    return redirect('/')
                else:
                    messages.add_message(request, messages.WARNING, '账号未启用')
            else:
                messages.add_message(request, messages.WARNING, '登录失败')
        else:
            messages.add_message(request, messages.INFO, '请检查您的字段')
    else:
        login_form = Login_form()

    template = get_template('login.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
Example #7
0
    def render_oembed(self, oembed_resource, original_url, template_dir=None, context=None):
        """
        Render the oembed resource and return as a string.
        
        Template directory will always fall back to 'oembed/[type].html', but
        a custom template dir can be passed in using the kwargs.
        
        Templates are given two context variables:
        - response: an OEmbedResource
        - original_url: the url that was passed to the consumer
        """
        if not context.get("request", False):
            provided_context = context or Context()
            context = RequestContext(mock_request())
            context.update(provided_context)

        # templates are named for the resources they display, i.e. video.html
        template_name = "%s.html" % oembed_resource.type

        # set up template finder to fall back to the link template
        templates = [os.path.join("oembed", template_name), "oembed/link.html"]

        # if there's a custom template dir, look there first
        if template_dir:
            templates.insert(0, os.path.join("oembed", template_dir, template_name))

        template = select_template(templates)

        context.push()
        context["response"] = oembed_resource
        context["original_url"] = original_url
        rendered = template.render(context)
        context.pop()

        return rendered.strip()  # rendering template may add whitespace
Example #8
0
def contact(request):
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            message = "感谢您的来信,我们会尽速处理您的宝贵意见。"
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_school = form.cleaned_data['user_school']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']

            mail_body = u'''
网友姓名:{}
居住城市:{}
是否在学:{}
反应意见:如下
{}'''.format(user_name, user_city, user_school, user_message)

            email = EmailMessage('来自【不吐不快】网站的网友意见', mail_body, user_email,
                                 ['*****@*****.**'])
            email.send()
        else:
            message = "请检查您输入的信息是否正确!"
    else:
        form = forms.ContactForm()

    template = get_template('contact.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)

    return HttpResponse(html)
Example #9
0
def news_add(request):
    if request.method == 'POST':
        '''
        每创建一条记录时,
        字段都要填写完整,
        这里由于用户模块还没完善,
        所以写死了user_id=1,
        并把此实例传给表单保存
        '''
        user = Users.objects.get(user_id=1)
        news = News(user=user)
        # 这里有上传文件的功能,所以可用request.FILES代替request.POST
        form = NewsAddModelForm(request.POST or None,
                                request.FILES or None,
                                instance=news)
        if form.is_valid():
            form.save()
            print('success')
            messages.add_message(request, messages.SUCCESS, '文章发布成功,等待管理员审核!')
            return redirect('/')
        else:
            messages.add_message(request, messages.WARNING, '检查您输入的信息是否正确!')
    else:
        form = NewsAddModelForm()
        messages.add_message(request, messages.WARNING,
                             '如果要发布信息,那么每一个字段都要填写...')
    template = get_template('news_add.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)

    return HttpResponse(html)
Example #10
0
def review_add(request, news_id):
    if request.method == 'POST':
        user = Users.objects.get(user_id=1)
        news = News.objects.get(news_id=news_id)
        '''
        这里使用request对象来获取IP地址,
        考虑到以后网站服务器会使用ngix等代理http,
        或者是该网站做了负载均衡,
        导致使用remote_addr抓取到的是1270.0.1,这时使用HTTP_X_FORWARDED_FOR才获得是用户的真实IP。
        '''
        if 'HTTP_X_FORWARDED_FOR' in request.META:
            ip = request.META['HTTP_X_FORWARDED_FOR']
        else:
            ip = request.META['REMOTE_ADDR']
        review = Review(user=user, news=news, ip=ip)
        form = ReviewModelForm(request.POST, instance=review)
        if form.is_valid():
            form.save()
            print('success')
            messages.add_message(request, messages.SUCCESS, '评论发布成功,等待管理员审核!')
            return redirect('/news_detail/news_id=' + news_id)
        else:
            messages.add_message(request, messages.WARNING, '检查您输入的信息是否正确!')
    else:
        form = ReviewModelForm()
    template = get_template('news_detail.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(context=locals(), request=request)
    return HttpResponse(html)
Example #11
0
def article_list(request, id):
    template = get_template('articles.html')
    # 第一条热文不进行排序,一般是特大政治新闻
    rw = rewen.objects.first()
    rewen_list = rewen.objects.all().order_by('-comment')[1:7]
    '''
    由于从前端URL中获取过来的参数是str类型的,
    而每一个表对应的模型是django.db.models.base.ModelBase类型的,
    所有要转换成字符串,截取之后进行比较
    id_1708, id_519, id_481, id_583, id_15
    这里只要截取最后两位数字比较就行,如有重复,截取三位
    '''
    for articles_id in [id_1708, id_519, id_481, id_583, id_15]:
        # print(type(articles_id))
        # print(str(articles_id)[-4:-2])
        if str(articles_id)[-4:-2] == id[-2:]:
            article_list = articles_id.objects.all().order_by(
                '-pub_time')[4:60]
            lunbo_list = articles_id.objects.all().order_by('-pub_time')[:4]
            paginator = Paginator(article_list, 6)  # 参数1:所有的数据,参数2:每页的记录数
            try:
                # GET请求方式,get()获取指定Key值所对应的value值
                # 获取index的值,如果没有,则设置使用默认值1
                num = request.GET.get('index', '1')
                # 获取第几页
                number = paginator.page(num)
            except PageNotAnInteger:
                # 如果输入的页码数不是整数,那么显示第一页数据
                number = paginator.page(1)
            except EmptyPage:
                number = paginator.page(paginator.num_pages)
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(context=locals(), request=request)
    return HttpResponse(html)
Example #12
0
def stopq(request):
    u = who_auth(request)
    if u != 'prof':
        return HttpResponse('Incorrect login!')
    sys = get_sys_state()
    if sys.mode == 'INACTIVE':
        return redirect(reverse('index'))
    sys.mode = 'INACTIVE'
    sys.save()
    # choose three random students that have answered
    student_list = StudentInfo.objects.exclude(curr_status='ABSENT').all()

    s1 = None
    s2 = None
    s3 = None
    if len(student_list) > 3:
        #todo: remove this loop
        s_list = []
        for s in student_list:
            s_list.append(s)
        s1, s2, s3 = random.sample(s_list, 3)
    else:
        if len(student_list) > 2:
            s3 = student_list[2]
        if len(student_list) > 1:
            s2 = student_list[1]
        if len(student_list) > 0:
            s1 = student_list[0]
    context = RequestContext(request)
    context.push({'s1': s1, 's2': s2, 's3': s3})
    logq.info('Quiz for Question ' + str(sys.activeq1) + str(sys.activeq2) +
              str(sys.activeq3) + str(sys.activeq4) + ' is stopped.')

    return render(request, 'studenthome/results.html', context.flatten())
Example #13
0
def playlist(request, playlist_id):
    playlist = get_object_or_404(Playlist, pk=playlist_id)

    tracks = PlaylistEntry.objects.filter(playlist_id=playlist.pk).order_by("pk")

    context = RequestContext(request, {
        'playlist': playlist,
        'tracks': tracks,
    })

    if request.method == 'GET':
        if request.GET.get('format') == 'text':
            if request.GET.get('album') == 'true':
                context.push({'printalbum': True})
            response = render(request, 'playlist/textview.html', context)
            response['Content-Type'] = 'text/plain; charset=utf-8'
            return response

        elif request.GET.get('format') == 'csv':
            response = HttpResponse(content_type='text/csv')
            if playlist.show is None:
                response[
                    'Content-Disposition'] = 'attachment; filename="' + playlist.showname + '-' + playlist.date.isoformat() + '.csv"'
            else:
                response[
                    'Content-Disposition'] = 'attachment; filename="' + playlist.show.name + '-' + playlist.date.isoformat() + '.csv"'

            out = csv.writer(response)
            out.writerow(['artist', 'track', 'album', 'local', 'australian', 'female', 'new release'])

            for track in playlist.tracks.all():
                out.writerow([track.artist, track.title, track.album, track.local, track.australian, track.female,
                              track.newRelease])
            return response
Example #14
0
def contact(request):
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            root_eamil = '*****@*****.**'
            message = '感谢您的来信,我们会尽快处理您的宝贵意见'
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_school = form.cleaned_data['user_school']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']
            mail_body = u'''
                匿名邮箱:{}
                网友姓名:{}
                居住城市:{}
                是否在学:{}
                反应意见如下:{}
            '''.format(user_email,user_name,user_city,user_school,user_message)
            send_mail(
                '来自【spider有话要说】网站的网友意见',
                mail_body,
                root_eamil,
                [root_eamil],
                fail_silently=False
            )
        else:
            message = '请检查您输入的信息是否正确'
    else:
        form = forms.ContactForm()
    template = get_template("contact.html")
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #15
0
def archive_campaign(request):
    if request.method == 'DELETE':
        try:
            data = json.loads(request.body)
            campaign_id = data['campaign_id']
        except TypeError:
            return HttpResponse("Invalid campaign data.", status=400)
    else:
        campaign_id = request.GET.get('campaign_id')

    user = request.user

    if campaign_id:
        campaign = user.profile.get_campaigns(id=campaign_id)
        if not campaign:
            return HttpResponse("Invalid campaign id", status=400)
        else:
            campaign = campaign[0]
            campaign.archived = True
            campaign.save()

            context = RequestContext(request)
            data = {
                'message_status': 'warning',
                'message': 'Campania a fost arhivata cu succes.'
            }
            context.push(data)
            context.push(request.user.profile.campaign_count())
            return render_to_response('status_message.html', context=context)
    else:
        HttpResponse("Unspecified campaign", status=400)
Example #16
0
def index(request):
    manager = WeekPlanManager()
    day_frame_template = loader.get_template('main/day_frame_template.html')
    request_context = RequestContext(request)
    day_frame_templates = [day_frame_template.render(Context({'day_plan': x})) for x in manager.week_plans]
    request_context.push({'manager': manager, 'day_frame_templates': day_frame_templates})
    return render(request, 'main/main.html', request_context)
Example #17
0
def delete(req):
    req_ctx = RequestContext(req)

    if req.method == "POST":
        form = BookForm(req.POST)

        if form.is_valid():
            clean_data = form.cleaned_data
            kwargs = getKwargs(clean_data)

            try:

                del_books = Book.objects.filter(**kwargs)
                req_ctx.push({'del_books': del_books})

                # Delete selected books
                del_books.delete()

            except:
                pass

            finally:
                # ToDo: response diffeently according to the post data
                return HttpResponseRedirect(reverse('delete_result'),
                                            {'req_ctx': req_ctx})

    else:
        form = BookForm(None)
        req_ctx.push({'form': form})

    return render(req, 'books/delete.html', {'req_ctx': req_ctx})
Example #18
0
def add(req):
    req_ctx = RequestContext(req)

    if req.method == "POST":
        form = BookForm(req.POST)

        if form.is_valid():
            book_name = form.cleaned_data['name']
            book_author = form.cleaned_data['author']
            book_price = (int)(form.cleaned_data['price'])
            book_description = form.cleaned_data['description']

            book = Book(name=book_name,
                        author=book_author,
                        price=book_price,
                        description=book_description)
            Book.objects.get_or_create(name=book.name,
                                       author=book.author,
                                       price=book.price,
                                       description=book.description)

            return HttpResponseRedirect(reverse('add_result'))

    else:
        form = BookForm(None)
        req_ctx.push({'form': form})

    return render(req, 'books/add.html', {'req_ctx': req_ctx})
Example #19
0
def ninja(request):
    context = RequestContext(request)

    if request.method == 'POST':

        form = WlanForm(utils.get_fact('wlan', 'ninja', 'ssid'), request.POST)

        if form.is_valid():
            password = form.cleaned_data['password2']
            ssid = form.cleaned_data['ssid']
            jobs.queue_job(wlanjobs.reconfigure_tor, (ssid, password))
            context.push({'message': True, 'ninja_ssid':ssid})
        else:
            logger.error("tor form validation failed for %s" % request.path)

    else:
        form = WlanForm(utils.get_fact('wlan','ninja','ssid'))

    model_info = ModelInfo()
    pi3 = model_info.runs_on_pi3()

    context.push({
        'form': form,
        'messagestore': jobs.get_messages(),
        'pi3': pi3})

    return render_to_response("ninja.html", context)
Example #20
0
def login(request):
    if request.user.is_authenticated():
        return redirect('/')
    if request.method == 'POST':
        login_form = forms.LoginForm(request.POST)
        if login_form.is_valid():
            login_name=request.POST['username'].strip()
            login_password=request.POST['password']
            user = authenticate(username=login_name, password=login_password)
            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    messages.add_message(request, messages.SUCCESS, '成功登录了')
                    return redirect('/')
                else:
                    messages.add_message(request, messages.WARNING, '账号尚未启用')
            else:
                messages.add_message(request, messages.WARNING, '登录失败')
        else:
            messages.add_message(request, messages.INFO,'请检查输入的字段内容')
    else:
        login_form = forms.LoginForm()

    template = get_template('login.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #21
0
def create_daily_distance(request):
    if request.method == 'POST':
        form = DailyDistanceForm(request.POST)
        new_daily_distance = form.save(commit=False)
        new_daily_distance.manually_entered = True
        new_daily_distance.user = request.user
        new_daily_distance.save()

        msg = ("You have added daily information for {}.".format(
            new_daily_distance.day))
        messages.info(request, msg)
        return HttpResponseRedirect(reverse('quest_maker_app:homepage'))
    else:
        day = request.GET.get('day')
        if day:
            day = datetime.datetime.strptime(day, "%Y-%m-%d").date()
            default_data = {"day": day}
            form = DailyDistanceFormDefaultDay(default_data)
        else:
            form = DailyDistanceForm()

    variables = RequestContext(request, {'form': form})
    variables.push({'day': day})
    return render_to_response('quest_maker_app/edit_daily_distance.html', 
        variables)
Example #22
0
def index(request, cat_id=0):
    all_categories = models.Category.objects.all()
    all_products = None
    if cat_id > 0:
        try:
            category = models.Category.objects.get(id=cat_id)
        except:
            category = None

        if category is not None:
            all_products = models.Product.objects.filter(category=category)
    if category is None:
        cate = 0
    else:
        cate = category.id

    if all_products is None:
        all_products = models.Product.objects.all()

    paginator = Paginator(all_products, 4)
    p = request.GET.get('p')
    try:
        products = paginator.page(p)
    except PageNotAnInteger:
        products = paginator.page(1)
    except EmptyPage:
        products = paginator.page(paginator.num_pages)

    cart = Cart(request)
    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #23
0
def contact(request):
    if request.user.is_authenticated():
        username = request.user.username
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            message = '感谢您的来信'
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']
            mail_body = u'''
                            网友的姓名:{}
                            居住省份:{}
                            反映意见:{}
                            '''.format(user_name, user_city, user_message)
            email = EmailMessage('来自[吐槽大会]网站的意见', mail_body, user_email,
                                 ['*****@*****.**'])
            email.send()
        else:
            message = '请检查您输入的信息是否正确'
    else:
        form = forms.ContactForm()
    template = get_template('contact.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #24
0
def django_render_block(template, block_name, context, request=None):
    # Create a Django Context.
    if request:
        context_instance = RequestContext(request)
        context_instance.push(context)
    else:
        context_instance = Context(context)

    # Get the underlying django.template.base.Template object.
    template = template.template

    # Bind the template to the context.
    with context_instance.bind_template(template):
        # Before trying to render the template, we need to traverse the tree of
        # parent templates and find all blocks in them.
        parent_template = _build_block_context(template, context_instance)

        try:
            return _render_template_block(template, block_name, context_instance)
        except BlockNotFound:
            # The block wasn't found in the current template.

            # If there's no parent template (i.e. no ExtendsNode), re-raise.
            if not parent_template:
                raise

            # Check the parent template for this block.
            return _render_template_block(
                parent_template, block_name, context_instance)
Example #25
0
def temp_myfilter(request):
    list = [1, 6, 3, 9, 8, 2]
    temp = loader.get_template('booktest/temp_myfilter.html')
    context = RequestContext(request, {'list': list})
    context.push(locals())
    render_html = temp.render(context=locals(), request=request)
    return HttpResponse(render_html)
Example #26
0
def posting(request):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
    messages.get_messages(request)
        
    if request.method == 'POST':
        user = User.objects.get(username=username)
        diary = models.Diary(user=user)
        post_form = forms.DiaryForm(request.POST, instance=diary)
        if post_form.is_valid():
            messages.add_message(request, messages.INFO, "日記已儲存")
            post_form.save()  
            return HttpResponseRedirect('/')
        else:
            messages.add_message(request, messages.INFO, '要張貼日記,每一個欄位都要填...')
    else:
        post_form = forms.DiaryForm()
        messages.add_message(request, messages.INFO, '要張貼日記,每一個欄位都要填...')

    template = get_template('posting.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)

    return HttpResponse(html)
Example #27
0
def dnsmanager(request):
    messages.get_messages(request)

    subdomains = models.Subdomain.objects.filter(user=request.user)
    if len(subdomains) > 0:
        records_in_dnsimple = subdomain_in_dnsimple(subdomains[0].name)
        main_subdomain = subdomains[0].name

    if request.method == 'POST':
        user = User.objects.get(username=request.user.username)
        new_subdomain = models.Subdomain(user=user)
        form = forms.SubdomainForm(request.POST, instance=new_subdomain)
        if form.is_valid():
            cleaned_info = form.cleaned_data
            if models.Subdomain.objects.filter(
                    name=cleaned_info['name']).exists():
                messages.add_message(request, messages.WARNING, "该网址已被申请了!")
                return redirect('/dnsmanager')
            else:
                form.save()
                messages.add_message(request, messages.SUCCESS, "网址申请成功!")
                return redirect('/dnsmanager')
    else:
        form = forms.SubdomainForm()

    template = get_template('dnsmanager.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #28
0
def userinfo(request):
    if request.user.is_authenticated():
        username = request.user.username
        user = AutoUser.objects.get(username=username)
        try:
            profile = Profile.objects.get(user=user)
        except:
            profile = Profile(user=user)

    if request.method == 'POST':
        profile_form = ProfileFrom(request.POST, instance=profile)
        if profile_form.is_valid():
            profile_form.save()
            messages.add_message(request, messages.INFO, '个人资料存储成功')
            return HttpResponseRedirect('/userinfo')
        else:
            messages.add_message(request, messages.INFO, '要修改资料,需要把每个字段都填写完')
    else:
        profile_form = ProfileFrom()

    template = get_template('userinfo.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
Example #29
0
def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            message = '感谢您的来信.'
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_school = form.cleaned_data['user_school']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']
            email_body = u'''
                网友姓名:{}
                居住城市:{}
                是否在校:{}
                反应如下:{}
            '''.format(user_name, user_city, user_school, user_message)

            email = EmailMessage('来自【不吐不快】的网友邮件', email_body, user_email,
                                 ['*****@*****.**'])

        else:
            message = '请正确填写内容'
    else:
        form = ContactForm()

    template = get_template('contact.html')
    forms = ContactForm()
    request_content = RequestContext(request)
    request_content.push(locals())

    html = template.render(request_content)

    return HttpResponse(html)
Example #30
0
def hangwoman(request):
    """It is the main method that starts the game."""

    template = loader.get_template('games/hangwoman.html')
    context = RequestContext(request)
    context.push({})
    return HttpResponse(template.render(context))
Example #31
0
def index(request, cat_id=0):
    allproducts = None
    allcategories = models.Category.objects.all()
    if cat_id > 0:
        try:
            category = models.Category.objects.get(id=cat_id)
        except:
            category = None
        if category is not None:
            allproducts = models.Product.objects.filter(category=category)

    if allproducts is None:
        allproducts = models.Product.objects.all()

    paginator = Paginator(allproducts, 4)
    p = request.GET.get('p')
    try:
        products = paginator.page(p)
    except PageNotAnInteger:
        products = paginator.page(1)
    except EmptyPage:
        products = paginator.page(paginator.num_pages)


#    allpolls = models.Poll.objects.all()
    cart = Cart(request)
    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #32
0
def login(request):
    if request.user.is_authenticated():
        return redirect('/')
    if request.method == 'POST':
        login_form = forms.LoginForm(request.POST)
        if login_form.is_valid():
            login_name=request.POST['username'].strip()
            login_password=request.POST['password']
            user = authenticate(username=login_name, password=login_password)
            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    messages.add_message(request, messages.SUCCESS, '成功登入了')
                    return redirect('/')
                else:
                    messages.add_message(request, messages.WARNING, '帳號尚未啟用')
            else:
                messages.add_message(request, messages.WARNING, '登入失敗')
        else:
            messages.add_message(request, messages.INFO,'請檢查輸入的欄位內容')
    else:
        login_form = forms.LoginForm()

    template = get_template('login.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #33
0
def userinfo(request):
    if request.user.is_authenticated():
        username = request.user.username
    user = User.objects.get(username=username)
    try:
        profile = models.Profile.objects.get(user=user)
    except:
        profile = models.Profile(user=user)

    if request.method == 'POST':
        profile_form = forms.ProfileForm(request.POST, instance=profile)
        if profile_form.is_valid():
            messages.add_message(request, messages.INFO, "个人资料已保存")
            profile_form.save()  
            return HttpResponseRedirect('/userinfo')
        else:
            messages.add_message(request, messages.INFO, '要修改个人资料,每一个字段都要填...')
    else:
        profile_form = forms.ProfileForm()

    template = get_template('userinfo.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #34
0
def render_page(request, template, module_name):
    """
    Internal interface to the dev page view.
    """
    context = {}
    log.debug("template name: " + template.name)
    log.debug("module_name: " + module_name)
    datafile_name = template.origin.name
    # strip off the html and try data.py
    if datafile_name.endswith('dt'):
        datafile_name = datafile_name[0:len(datafile_name) - 2]
        datafile_name += 'data.py'
        log.debug("datafilename: " + datafile_name)
    # else:
    #     datafile_name += '.data.py'
    # try to load a data file if it is there in order to get the context
    # all data files should support get_context() or a context property
    try:
        log.debug("attempting to load data_file...")
        spec = importlib.util.spec_from_file_location(module_name,
                                                      datafile_name)
        data = importlib.util.module_from_spec(spec)
        spec.loader.exec_module(data)

        # datafile = imp.load_source(module_name, datafile_name)
        # note changing datafile below to data
    except FileNotFoundError:
        data = None
    except Exception as ex:
        # logging.error(traceback.format_exc())
        data = None
        if settings.DEBUG:
            raise ex
    if data:
        try:
            initmethod = getattr(data, 'get_context')
        except AttributeError:
            initmethod = None
        if initmethod:
            # we may want to return something like a redirect so if is response then return it; else use for data!
            context = initmethod(request)
            if isinstance(context, HttpResponse):
                return context
        else:
            try:
                context = getattr(data, 'context')
            except AttributeError:
                context = {}
    # print("context string: " + str(context))
    template_context = RequestContext(request)
    if context:
        template_context.push(context)
    response = HttpResponse(template.render(template_context))
    # add a canonical header if we are doing some fancy string replacement so analytics work properly with SEO
    if request.path != "/" + module_name and request.scheme and request.get_host(
    ):
        response[
            'Link'] = f'< {request.scheme}://{request.get_host()}/{module_name} >; rel="canonical"'

    return response
Example #35
0
def vpn_generate(request):
    context = RequestContext(request)

    form = VpnProfileForm(request.POST)

    if form.is_valid():
        profilename = form.cleaned_data.get('profilename')
        dyndomain = form.cleaned_data.get('dyndomain')

        logger.info("generating profile %s" % profilename)
        profile = VpnProfile(profilename=profilename, dyndomain=dyndomain)
        profile.config = "# upri.box OVPN config for %s\nfoo bar baz bar OpenVPN config goes here" % profilename
        profile.save()
        if not (settings.IGNORE_MISSING_UPRICONFIG
                and not exists('/usr/local/bin/upri-config.py')):
            jobs.queue_job(vpnjobs.generate_profile, (str(profile.id), ))
            context.push({'message': True})
        else:
            context.push({'message': False})

        context.push({'form': VpnProfileForm()})

    else:
        context.push({'form': VpnProfileForm(request.POST)})

    context.push({
        'messagestore': jobs.get_messages(),
        'profiles': VpnProfile.objects.all()
    })

    return render_to_response("vpn.html", context)
Example #36
0
def vpn_generate(request):
    context = RequestContext(request)

    form = VpnProfileForm(request.POST)

    if form.is_valid():
        profilename = form.cleaned_data.get('profilename')
        dyndomain = form.cleaned_data.get('dyndomain')

        logger.info("generating profile %s" % profilename )
        profile = VpnProfile(profilename=profilename, dyndomain=dyndomain)
        profile.config = "# upri.box OVPN config for %s\nfoo bar baz bar OpenVPN config goes here" % profilename
        profile.save()
        if not (settings.IGNORE_MISSING_UPRICONFIG and not exists('/usr/local/bin/upri-config.py')):
            jobs.queue_job(vpnjobs.generate_profile, (str(profile.id),))
            context.push({'message': True})
        else:
            context.push({'message': False})

        context.push({'form': VpnProfileForm()})

    else:
        context.push({'form': VpnProfileForm(request.POST)})

    context.push({
            'messagestore': jobs.get_messages(),
            'profiles': VpnProfile.objects.all()})

    return render_to_response("vpn.html", context)
Example #37
0
def upload(request):	
	if(request.method == 'POST'):
		try:
			# File info
			file_name = request.FILES['files']
			ext = file_name.content_type # Extension file
			# If in whitelist
			if(ext in EXT_FILES):			
				file_form = UploadFileForm(request.POST, request.FILES)			
				if file_form.is_valid():
					# Save file to disk
					image = file_form.save(commit=False)				
					# image = User_Image()
					image.user_id = request.session.get('user_id')
					image.image_path = "UploadImages/" + file_name.name

					# Save info file to db
					image.save()
				else:				
					request_context = RequestContext(request)				
					request_context.push({'errorMessage': 'Upload Invalid.'})
					return render(request, 'index.html', request_context) 
			else:
				print "failed"
		except Exception,e:			
			request_context = RequestContext(request)				
			request_context.push({'errorMessage': 'Upload Invalid.'})
			return render(request, 'index.html', request_context) 
Example #38
0
def addpoll(request):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
        user = User.objects.get(username=username)
        polls = Poll.objects.filter(user=user).order_by('-created_at')
    if request.method == 'POST':
        try:
            poll = Poll(user=user)
            forms = PollForm(request.POST, instance=poll)
            if forms.is_valid():
                forms.save()
                messages.add_message(request, messages.SUCCESS, '话题添加成功!')
                return redirect('.')
            else:
                messages.add_message(request, messages.WARNING,
                                     '添加失败,每个字段都是需要填写的')
        except:
            forms = PollForm()
            messages.add_message(request, messages.INFO, '发布话题~')
    else:
        forms = PollForm()

    template = get_template('addpoll.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
Example #39
0
def login(request):
	if(request.method == 'POST'):
		username = request.POST.get('user_name')
		password = request.POST.get('password')
		try:
			# Secure password
			m = hashlib.md5()
			m.update(password)
			password = m.hexdigest()

			# Get user by info POST request
			# If has record then redirect to index with session save
			result = User.objects.get(user_name=username, password=password)			
			request.session['username'] = result.user_name
			request.session['user_id'] = result.id					
			url = reverse('index', args=())
			return redirect('index')
		except User.DoesNotExist:
			# Fail login
			form = UserForm()
			request_context = RequestContext(request)
			request_context.push({'form': form})
			request_context.push({'errorMessage': 'Login Failed.'})
			return render(request, 'login.html', request_context)
	else:
		form = UserForm()
		return render(request, 'login.html', {'form': form})
Example #40
0
def contact(request):
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            message = '感谢您的来信'
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_school = form.cleaned_data['user_school']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']
            letter = models.Letter.objects.create(username=user_name,
                                                  city=user_city,
                                                  school=user_school,
                                                  email=user_email,
                                                  content=user_message)
            letter.save()
        else:
            message = '请检查您输入的信息是否正确'
    else:
        form = forms.ContactForm()
    template = get_template('contact.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #41
0
def index(request, cat_id=None):

    all_product = None
    all_cateories = Category.objects.all()

    if cat_id is not None:
        try:
            category = Category.objects.get(id=int(cat_id))
        except:
            category = None
        if category is not None:
            all_product = Products.objects.filter(category=category)
    if all_product is None:
        all_product = Products.objects.all().order_by('-sku')

    pagiator = Paginator(all_product, 4)
    p = request.GET.get('page')
    try:
        products = pagiator.page(p)
    except PageNotAnInteger:
        products = pagiator.page(1)
    except EmptyPage:
        products = pagiator.page(pagiator.num_pages)

    temprate = get_template('index.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = temprate.render(request_content)

    return HttpResponse(html)
Example #42
0
def blacklist_words(request):
    form = BlackListWordsForm(request.user)
    try:
        fb_user = FacebookUser.objects.get(user=request.user)
    except FacebookUser.DoesNotExist:
        # TODO Proper 404
        HttpResponse("Not Found")

    if request.method == 'GET':
        initial = BlackListedWords.objects.filter(user=fb_user)
        initial_words = []
        if initial:
            initial_words = [i.word for i in initial]
        request_context = RequestContext(request)
        request_context.push({
            'form': form,
            'user': request.user,
            'initial_words': initial_words
        })
        return render_to_response('blacklist_words.html', request_context)
    else:
        form = BlackListWordsForm(request.user, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('blacklist_words'))
        else:
            return HttpResponse(form.errors)
Example #43
0
def posting(request):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
    messages.get_messages(request)
    if request.method == 'POST':
        user = AutoUser.objects.get(username=username)
        diary = Diary(user=user)
        post_form = DiaryForm(request.POST, instance=diary)
        if post_form.is_valid():
            messages.add_message(request, messages.INFO, '日记已添加')
            post_form.save()
            return HttpResponseRedirect('/')
        else:
            messages.add_message(request, messages.WARNING,
                                 '如果你要添加日记,需要每一个字段都正确填写')
    else:
        post_form = DiaryForm()
        messages.add_message(request, messages.WARNING,
                             '如果你要添加日记,需要每一个字段都正确填写')

    template = get_template('posting.html')
    request_content = RequestContext(request)
    request_content.push(locals())
    html = template.render(request_content)

    return HttpResponse(html)
Example #44
0
def dnsmanager(request):
    messages.get_messages(request)

    subdomains = models.Subdomain.objects.filter(user=request.user)
    if len(subdomains)>0:
        records_in_dnsimple = subdomain_in_dnsimple(subdomains[0].name)
        main_subdomain = subdomains[0].name

    if request.method == 'POST':
        user = User.objects.get(username=request.user.username)
        new_subdomain = models.Subdomain(user=user)
        form = forms.SubdomainForm(request.POST, instance=new_subdomain)
        if form.is_valid():
            cleaned_info = form.cleaned_data
            if  models.Subdomain.objects.filter(name=cleaned_info['name']).exists():
                messages.add_message(request, messages.WARNING, "该网址已被申请了!")
                return redirect('/dnsmanager')
            else:
                form.save()
                messages.add_message(request, messages.SUCCESS, "网址申请成功!")
                return redirect('/dnsmanager')
    else:
        form = forms.SubdomainForm()

    template = get_template('dnsmanager.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #45
0
def contact(request):
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            message = "感謝您的來信,我們會儘速處理您的寶貴意見。"
            user_name = form.cleaned_data['user_name']
            user_city = form.cleaned_data['user_city']
            user_school = form.cleaned_data['user_school']
            user_email = form.cleaned_data['user_email']
            user_message = form.cleaned_data['user_message']

            mail_body = u'''
網友姓名:{}
居住城市:{}
是否在學:{}
反應意見:如下
{}'''.format(user_name, user_city, user_school, user_message)

            email = EmailMessage('來自【不吐不快】網站的網友意見', mail_body, user_email,
                                 ['*****@*****.**'])
            email.send()
        else:
            message = "請檢查您輸入的資訊是否正確!"
    else:
        form = forms.ContactForm()

    template = get_template('contact.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)

    return HttpResponse(html)
Example #46
0
def login(request):
    if request.method == 'POST':
        login_form = forms.LoginForm(request.POST)
        if login_form.is_valid():
            login_name = request.POST['username'].strip()
            login_password = request.POST['password']
            user = authenticate(username=login_name, password=login_password)
            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    message = '成功登录'
                    return redirect('/')
                else:
                    message = '账户尚未启用'
            else:
                message = '请检查账户与密码是否正确'
        else:
            message = '请检查输入的字段'
    else:
        login_form = forms.LoginForm()
    template = get_template('login.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #47
0
	def setup_request(self, new_text, request_type='POST'):
		request = HttpRequest()
		request.method = request_type
		if request_type == 'POST':
			request.POST['item_text'] = new_text
		rc = RequestContext(request)
		rc.push({'new_item_text': new_text})
		return (request, rc)
Example #48
0
def vpn_config(request):
    context = RequestContext(request)

    context.push({
        'messagestore': jobs.get_messages(),
        'profiles': VpnProfile.objects.all(),
        'form': VpnProfileForm()})
    return render_to_response("vpn.html", context)
Example #49
0
def cart(request):
    all_categories = models.Category.objects.all()
    cart = Cart(request)
    template = get_template('cart.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)    
Example #50
0
File: mdlw.py Project: rivmar/mypet
	def process_request(self, request):
		if request.user.is_authenticated():
			request_context = RequestContext(request)
			request_context.push({"user": request.user})
			return None
		for url in self.exceptions:
			if url.match(request.path):
				return None
		return HttpResponseRedirect('/auth/login/')
Example #51
0
def index(request, pid=None, del_pass=None):

    messages.get_messages(request)

    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #52
0
def deleteAllTasks(request):
    taskObject = Task.objects.all()
    taskObject.delete()

    latestTaskList = Task.objects.all()
    template = loader.get_template('todoList/index.html')
    context = RequestContext(request)
    context.push({ 'latestTaskList': latestTaskList, })
    return HttpResponse(template.render(context))
Example #53
0
def my_orders(request):
    all_categories = models.Category.objects.all()
    orders = models.Order.objects.filter(user=request.user)

    template = get_template('myorders.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #54
0
def catalog(request):
  genres = Film.objects.order_by('genre').values('genre').distinct()

  context = RequestContext(request)

  film_list = Film.objects.all()
  f = FilmFilter(request.GET, queryset=Film.objects.all())
  # print(f.__dict__)
  context.push( {'filter': f, 'list': film_list, 'genre_list': genres} )
  return render_to_response('movies/catalog.html', context)
Example #55
0
 def resolve_context(self, context):
     """Convert context data into a full RequestContext object
     (assuming it isn't already a Context object).
     """
     if isinstance(context, Context):
         return context
     context_instance = RequestContext(self._request)
     if context:
         context_instance.push(context)
     return context_instance
Example #56
0
def vpn_get(request, slug):
    try:
        profile = VpnProfile.objects.get(slug=slug)

        #render profile
        context = RequestContext(request)
        context.push({'profile': profile})
        return render_to_response("vpn_profile.html", context)
    except VpnProfile.DoesNotExist:
        raise Http404()
Example #57
0
def deleteAllTasks(request):
    """ Deletes all the tasks."""

    ndb.delete_multi(Task.query().fetch(keys_only=True))

    latestTaskList = Task.query()
    template = loader.get_template('todoList/index.html')
    context = RequestContext(request)
    context.push({ 'latestTaskList': latestTaskList, })
    return HttpResponse(template.render(context))
Example #58
0
def index(request, pid=None, del_pass=None):
    if request.user.is_authenticated():
        username = request.user.username
        useremail = request.user.email
    messages.get_messages(request)
    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)
Example #59
0
def index(request):

    messages.get_messages(request)

    pics = random.sample(range(1,87),6)

    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)