На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Редакция. Учет Статей (Python, Django, Bootstrap, Sqlite, css, html)

Скриншот архива с проектом

Структура проекта

Задание

Создайте модель «Article» для веб-приложения. Модель должна содержать поля, такие как «title», «content», «date_published» и «author». Затем создайте миграции для этой модели и примените их к базе данных.

На основе модели "Article" создайте форму для добавления данных о статьях в базу данных. Форма должна включать поля для ввода "title", "content", "date_published" и "author". Реализуйте представление для обработки данных из этой формы и сохранения их в базе данных.

Функционал программы

  • Добавление авторов
  • вывод подробной информации об авторе
  • редактирование автора
  • удаление автора
  • добавление статьи
  • вывод информации о статье
  • редактирование статьи
  • удаление статьи
  • регистрация и авторизация пользователей. 

Фрагмент программного кода

from django.shortcuts import render, redirect, get_object_or_404
from .models import *
from .forms import *
from django.contrib.auth.views import LoginView
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login
from django.contrib.auth import logout
from django.urls import reverse_lazy
from django.views.generic.edit import  FormView

# Create your views here.


class CustomLoginView(LoginView):
    template_name = 'login.html'
    fields = '__all__'
    redirect_authenticated_user = True

    def get_success_url(self):
        return reverse_lazy('index')
    

class RegisterPage(FormView):
    template_name = 'register.html'
    form_class = UserCreationForm
    redirect_authenticated_user = True
    success_url = reverse_lazy('index')

    def form_valid(self, form):
        user = form.save()
        if user is not None:
            login(self.request, user)
        return super(RegisterPage, self).form_valid(form)

    def get(self, *args, **kwargs):
        if self.request.user.is_authenticated:
            return redirect('index')
        return super(RegisterPage, self).get(*args, **kwargs)
    

def logout_view(request):
    logout(request)
    return redirect('index')


def index(request):
     context = {
         'title': 'Главная страница сайта' 
         }
     return render(request, 'index.html', context)


# Представления для работы с авторами 
def author_list(request):
    return render(request, 'author_list.html')


def display_authors(request):
    authors = Author.objects.all()

    context = {
        'authors': authors,
        'header': 'Автор' 
    }   

    return render(request, 'author_list.html', context)


def add_author(request):
    if request.method == 'POST':
        form = AuthorForm(request.POST)

        if form.is_valid():
            form.save()
            return redirect('author_list')
    else:
        form = AuthorForm()
        context = {
            'form': form,
            'header': 'Автор'
        }   
        return render(request, 'add_author.html', context)


def author_detail(request, pk):
    author = get_object_or_404(Author, pk=pk)

    context = {
        'author': author,
    }

    return render(request, 'author_detail.html', context)



def edit_author(request, pk):
    author = get_object_or_404(Author, pk=pk)

    if request.method == 'POST':
        form = AuthorForm(request.POST, instance=author)

        if form.is_valid():
            form.save()
            return redirect('author_list')
    else:
        form = AuthorForm(instance=author)
    
    context = {
        'form': form,
        'header': 'Редактирование автора'
    }   
    return render(request, 'edit_author.html', context)


def delete_author(request, pk):
    author = get_object_or_404(Author, pk=pk)
    author.delete()
    return redirect("author_list")



# Представления для работы со статьями
def article_list(request):
    return render(request, 'article_list.html')


def display_articles(request):
    articles = Article.objects.all()

    context = {
        'articles': articles,
        'header': 'Статья' 
    }   

    return render(request, 'article_list.html', context)


def add_article(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)

        if form.is_valid():
            form.save()
            return redirect('article_list')
    else:
        form = ArticleForm()
        context = {
            'form': form,
            'header': 'Статья'
        }   
        return render(request, 'add_article.html', context)


def article_detail(request, pk):
    article = get_object_or_404(Article, pk=pk)

    context = {
        'article': article,
    }

    return render(request, 'article_detail.html', context)


def edit_article(request, pk):
    article = get_object_or_404(Article, pk=pk)

    if request.method == 'POST':
        form = ArticleForm(request.POST, instance=article)

        if form.is_valid():
            form.save()
            return redirect('article_list')
    else:
        form = ArticleForm(instance=article)
    
    context = {
        'form': form,
        'header': 'Редактирование статьи'
    }   
    return render(request, 'edit_article.html', context)


def delete_article(request, pk):
    article = get_object_or_404(Article, pk=pk)
    article.delete()
    return redirect("article_list")

Пояснения по запуску программы

Приветствую! За раннее выражаю благодарность за покупку работы и подписку на мой YouTube-канал - https://www.youtube.com/channel/UC3XXxvCFq5i4laCmPE2zI9w

Для эффективной работы с приложением вам потребуется: 

  •  редактор кода VS Code - скачать можно тут - https://code.visualstudio.com/download 
  • интерпретатор языка Python, скачать можно тут - https://www.python.org/downloads/ Однако скачивать версию 3.12 не советую, есть проблемы с установкой библиотек. Рекомендуемая версия - 3.11.7. 
  • После установки всего выше описанного, настройте VS Code  для работы с Python установив необходимые расширения (см. инструкцию - https://youtu.be/j5e5gwZgMH8) . 
  • Запускаете приложение и пользуетесь. Также вы можете самостоятельно выложить проект на Heroku. 

Купить 1500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

1500,00 

Покупается впервые!
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

Редакция. Учет Статей.rar
31097253
Оцени работу

рейтинг

Редакция. Учет Статей (Python, Django, Bootstrap, Sqlite, css, html)
Приложение написано на одном из самых популярных в последние годы языке программирования - Python. В качестве фреймворка использовался - Django. Кроме того, был использован Bootstrap, css, js. Приложение предназначено для учета авторов и статей . Обладает всем необходимым функционалом.
Категория: Образование
Стоимость: 1500,00