Added view and path to create a new news item.

dev
Calum Andrew Morrell 2025-11-13 10:13:31 +00:00
parent 5484b89e3a
commit 06d235d602
2 changed files with 14 additions and 2 deletions

View File

@ -1,12 +1,13 @@
from django.urls import path
from .views import (CategoryList, NewsItemDetail, NewsItemList,
from .views import (CategoryList, NewsItemCreate, NewsItemDetail, NewsItemList,
NewsItemRedirectView, TagList)
app_name = "news"
urlpatterns = [
path("", NewsItemList.as_view(), name="list"),
path("add-news/", NewsItemCreate.as_view(), name="add_news"),
path("categories/", CategoryList.as_view(), name="categories"),
path("categories/<slug:category>/", NewsItemList.as_view(), name="list_category"),
path("tags/", TagList.as_view(), name="tags"),

View File

@ -1,5 +1,7 @@
from django.shortcuts import get_object_or_404
from django.views.generic import DetailView, ListView, RedirectView
from django.urls import reverse_lazy
from django.views.generic import (CreateView, DetailView, ListView,
RedirectView, UpdateView)
from .models import Category, NewsItem
@ -8,6 +10,15 @@ class CategoryList(ListView):
model = Category
class NewsItemCreate(CreateView):
model = NewsItem
success_url = reverse_lazy("dashboard:dashboard")
def form_valid(self, form):
form.instance.owner = self.request.user
return super().form_valid(form)
class NewsItemDetail(DetailView):
model = NewsItem