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 django.urls import path
from .views import (CategoryList, NewsItemDetail, NewsItemList, from .views import (CategoryList, NewsItemCreate, NewsItemDetail, NewsItemList,
NewsItemRedirectView, TagList) NewsItemRedirectView, TagList)
app_name = "news" app_name = "news"
urlpatterns = [ urlpatterns = [
path("", NewsItemList.as_view(), name="list"), path("", NewsItemList.as_view(), name="list"),
path("add-news/", NewsItemCreate.as_view(), name="add_news"),
path("categories/", CategoryList.as_view(), name="categories"), path("categories/", CategoryList.as_view(), name="categories"),
path("categories/<slug:category>/", NewsItemList.as_view(), name="list_category"), path("categories/<slug:category>/", NewsItemList.as_view(), name="list_category"),
path("tags/", TagList.as_view(), name="tags"), path("tags/", TagList.as_view(), name="tags"),

View File

@ -1,5 +1,7 @@
from django.shortcuts import get_object_or_404 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 from .models import Category, NewsItem
@ -8,6 +10,15 @@ class CategoryList(ListView):
model = Category 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): class NewsItemDetail(DetailView):
model = NewsItem model = NewsItem