예제 #1
0
def send_message(title, body, image, video, user_post):
    import uuid
    nameFile = str(uuid.uuid4())[:12]
    user_postv = User.objects.get(username=user_post)
    imgstr = re.search(r'base64,(.*)', image).group(1)
    # path = default_storage.save('%s.png' % nameFile, ContentFile(imgstr))
    img_file = open("media/%s.png" % nameFile, 'wb')
    img_file.write(base64.b64decode(imgstr))
    img_file.close()

    # user_postv = User.objects.get(username=user_post)
    post = Post()
    post.title = title
    post.body = body
    # post.image = default_storage.save('%s.png' % nameFile, ContentFile(imgstr))
    post.image = nameFile
    post.video = video
    # post.audio = audio
    post.user_post = user_postv
    post.save()

    user_post = str(user_post)

    r = redis.StrictRedis()

    if user_post:
        r.publish(
            "".join(["/"]),
            json.dumps({
                "timestamp": dateformat.format(post.date_post, 'U'),
                "image": nameFile,
                "user_post": user_post,
                "title": title,
                "id": post.id
            }))
예제 #2
0
def save_post(request):
    cur_user = request.user
    if request.method == 'POST':
        subject = request.POST['subject']
        content = request.POST['content']
        new_post = Post(user_id=cur_user, subject=subject, content=content)
        new_post.save()
        redirect('home')

    return redirect('home')
예제 #3
0
파일: views.py 프로젝트: UA-girl/DjangoApp
def add_post(request):
    token = request.META.get('HTTP_AUTHORIZATION', " ").split(' ')[1]
    payload = jwt_decode_handler(token)
    user_id = payload['user_id']
    try:
        user = User.objects.get(pk=user_id)
        post = Post(user=user,
                    title=request.data['title'],
                    text=request.data['text'])
        post.save()
        return Response('Success', status=status.HTTP_201_CREATED)
    except Exception:
        return Response('Error', status.HTTP_401_UNAUTHORIZED)
예제 #4
0
def index(request):
    if not request.user.is_authenticated:
        return redirect('/login')

    if request.method == "GET":
        posts = Post.objects.filter(user=request.user).all()
        return render(request, 'index.html', {'posts': posts})
    else:
        post = Post()
        post.text = request.POST.get('text')
        post.user = request.user
        post.save()

        return redirect('/')
예제 #5
0
    def setUp(self):
        self.now = datetime.datetime.utcnow().replace(tzinfo=utc)
        self.timedelta = datetime.timedelta(15)
        author = User.objects.get(pk=1)

        for count in range(1, 11):
            post = Post(title="Test Post %d Title" % count,
                        text="foo", author=author)

            if count < 6:
                pubdate = self.now - self.timedelta * count
                post.published_date = pubdate

            post.save()
예제 #6
0
def add_posts(request):
    if request.method == 'POST':

        try:
            payload = json.loads(request.body)
            post_id = uuid.uuid4().hex[:10]
            title = payload['title']
            body = payload['body']
            posted_by = payload['posted_by']
            posted_date = int(time.time())
            post = Post(post_id, title, body, posted_by, posted_date,
                        posted_by, posted_date)
            post.save()
            response = json.dumps([{'success': 'Post added successfully!'}])
        except:
            response = json.dumps([{'error': 'Post could not be added!'}])
        return HttpResponse(response, content_type='text/json')
    else:
        response = json.dumps([{'error': 'Post could not be added!'}])
        return HttpResponse(response, status='404', content_type='text/json')
예제 #7
0
def add_post(request):
    p = Post(header = request.POST['header'], text = request.POST['text'])
    p.save()
    return redirect('index')
예제 #8
0
    def handle(self, *args, **options):
        # now do the things that you want with your models here
        password = "******"
        exp_posts = 50
        exp_users = 20
        avg_votes_per_post = 5
        avg_comments_per_post = 3

        # Post.objects.all().delete()

        rootExists = User.objects.filter(username="******").count()
        if (rootExists < 1):
            self.stdout.write("Creating root user")
            User.objects.create_superuser("root", "*****@*****.**", password)

        num_posts = Post.objects.all().count()
        num_users = User.objects.all().count()
        num_votes = Vote.objects.all().count()
        num_comments = Comment.objects.all().count()

        faker = Faker()

        self.stdout.write("Default password: "******"Number of posts: " + str(num_posts))
        self.stdout.write("Number of votes: " + str(num_votes))
        self.stdout.write("Number of comments: " + str(num_comments))
        self.stdout.write("Number of users: " + str(num_users))

        if (num_users < exp_users):
            self.stdout.write("Creating " + str(exp_users - num_users) +
                              " Users")
            for x in range(num_users + 1, exp_users + 1):
                username = faker.name().replace(" ", ".")
                email = username + "@test.com"
                User.objects.create_superuser(username, email, password)
                self.stdout.write("   " + username)
            num_users = User.objects.all().count()

        if (num_posts < exp_posts):
            self.stdout.write("Creating " + str(exp_posts - num_posts) +
                              " Posts")
            for x in range(num_posts + 1, exp_posts + 1):
                day_offset = randint(1, 364)
                pub_date = timezone.now() - datetime.timedelta(days=day_offset)
                u = self.randomUser()
                title = faker.text()
                self.stdout.write("   [" + u.username + "] " + title)
                rec = Post()
                rec.author = u
                rec.title = title
                rec.text = faker.text()
                rec.created_date = pub_date
                rec.published_date = pub_date
                rec.save()
            num_posts = Post.objects.all().count()

        self.stdout.write("Voting...")
        while (num_votes < avg_votes_per_post * num_posts):
            user = self.randomUser()
            post = self.randomPost()
            voted = Vote.objects.all().filter(post=post, author=user).count()
            if (post.author != user and voted == 0):
                rec = Vote()
                rec.author = user
                rec.post = post
                rec.created_date = self.randomDate(post.created_date,
                                                   timezone.now())
                rec.save()
                num_votes = Vote.objects.all().count()
                self.stdout.write(
                    str(num_votes) + ": " + user.username + " voted for [" +
                    post.title + "]")

        self.stdout.write("Commenting...")
        while (num_comments < avg_comments_per_post * num_posts):
            user = self.randomUser()
            post = self.randomPost()
            rec = Comment()
            rec.author = user
            rec.post = post
            rec.contents = faker.text()
            rec.created_date = self.randomDate(post.created_date,
                                               timezone.now())
            rec.save()
            num_comments = Comment.objects.all().count()
            self.stdout.write(
                str(num_comments) + ": " + user.username + " commented on [" +
                post.title + "]")
예제 #9
0
 def save(self):
     request = self.request
     record = Post(title=request.POST.get('title'), content=request.POST.get('content'), photo=request.FILES['photo'].name)
     self.handle_uploaded_file(request.FILES['photo'])
     record.save()