Beispiel #1
0
def detail(request, entry_id):
    if request.method == "POST":
        form = CommentForm(request.POST, error_class=DivErrorList)
        if form.is_valid():
            author = request.user
            text = request.POST['text']
            entry = entry = Entry.objects.get(pk=entry_id)
            pub_date = timezone.now()
            comment = Comment(author=author,
                              entry=entry,
                              text=text,
                              pub_date=pub_date)
            comment.save()

    dates = Entry.get_dates()
    form = CommentForm()

    try:
        entry = Entry.objects.get(pk=entry_id)
    except Entry.DoesNotExist:
        raise Http404
    comments = Comment.objects.filter(entry=entry)
    context = {'entry': entry, 'dates': dates,
               'comments': comments, 'form': form}
    return render(request, 'blog/detail.html', context)
Beispiel #2
0
def index(request):
    entries_list = Entry.objects.all().order_by('-pub_date')
    paginator = Paginator(entries_list, 5)  # Show 5 entries per page
    entries = request.GET.get('page')
    try:
        entries = paginator.page(entries)
    except PageNotAnInteger:
        entries = paginator.page(1)
    except EmptyPage:
        entries = paginator.page(paginator.num_pages)

    dates = Entry.get_dates()
    context = { 'dates': dates, 'entries': entries}
    return render(request, 'blog/index.html', context)
Beispiel #3
0
def login(request):
    if request.user.is_authenticated():
        return redirect('index')

    if request.method == "POST":
        form = LoginForm(request.POST, error_class=DivErrorList)
        if form.is_valid():
            user = form.login(request)
            if user:
                auth_login(request, user)
                return redirect('index')
    else:
        form = LoginForm()

    dates = Entry.get_dates()
    context = {'dates': dates, 'form': form}

    return render(request, 'blog/login_form.html', context)
Beispiel #4
0
def edit_user_profile(request):
    user = request.user
    if not user.is_authenticated():
        return redirect('login')

    try:
        about = UserProfile.objects.get(user=user).about
    except UserProfile.DoesNotExist:
        about = UserProfile.objects.create(user=user)

    dates = Entry.get_dates()

    update_email_form = UpdateEmailForm()
    update_about_form = UpdateAboutForm(initial={'about': about})

    return render(request, 'blog/edit_profile.html', {
                           'update_email_form': update_email_form,
                           'user': user,
                           'dates': dates,
                           'update_about_form': update_about_form})
Beispiel #5
0
def user_profile(request, username):

    dates = Entry.get_dates()
    logged_in_user = request.user

    try:
        instance = User.objects.get(username=username)
    except ObjectDoesNotExist:
        raise Http404

    try:
        user_profile = UserProfile.objects.get(user=instance)
    except ObjectDoesNotExist:
        user_profile = None

    context = {'view_user': instance,
               'user_profile': user_profile,
               'logged_in_user': logged_in_user,
               'dates': dates}

    return render(request, 'blog/user_profile.html', context)
Beispiel #6
0
def signup(request):
    dates = Entry.get_dates()
    if request.method == "POST":
        form = SignupForm(request.POST, error_class=DivErrorList)

        if form.is_valid():
            username = request.POST['username']
            email = request.POST['email']
            password = request.POST['password']
            User.objects.create_user(username=username,
                                     email=email,
                                     password=password)
            new_user = authenticate(username=request.POST['username'],
                                    password=request.POST['password'])
            auth_login(request, new_user)

            return redirect('index')
    else:
        form = SignupForm()
    return render(request, 'blog/signup.html', {
                           'form': form,
                           'dates': dates})
Beispiel #7
0
def new_post(request):
    if not request.user.is_authenticated():
        return redirect('login')
    if request.method == "POST":
        form = PostForm(request.POST, error_class=DivErrorList)
        if form.is_valid():
            title = request.POST['title']
            post = request.POST['post']
            p = Entry(author=request.user,
                      title=title,
                      post=post,
                      pub_date=timezone.now())
            p.save()
            entry_id = p.pk
            return redirect('detail', entry_id=entry_id)
    else:
        form = PostForm

    dates = Entry.get_dates()
    context = {'dates': dates, 'form': form}

    return render(request, 'blog/new_post.html', context)