Browse Source

praktikum Aufgabe7

master
Nadege 4 years ago
parent
commit
dd08dc74f6
7 changed files with 70 additions and 10 deletions
  1. 1
    1
      news/settings.py
  2. 2
    0
      news/urls.py
  3. 16
    0
      posts/forms.py
  4. 11
    0
      posts/templates/posts/edit.html
  5. 10
    6
      posts/templates/posts/notice.html
  6. 4
    1
      posts/urls.py
  7. 26
    2
      posts/views.py

+ 1
- 1
news/settings.py View File

@@ -105,7 +105,7 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/

LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'de-de'

TIME_ZONE = 'UTC'


+ 2
- 0
news/urls.py View File

@@ -13,6 +13,7 @@ Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from django.urls import path,include
from posts import views
@@ -20,4 +21,5 @@ from posts import views
urlpatterns = [
path('posts/', include('posts.urls')),
path('admin/', admin.site.urls),

]

+ 16
- 0
posts/forms.py View File

@@ -0,0 +1,16 @@
from django import forms
import datetime




class NoticeForm(forms.Form):
date_formats = ['%d.%m.%Y', '%d.%m.%y']
title = forms.CharField(label='Titel', max_length=80)
text = forms.CharField(label='Text', max_length=400)
start = forms.DateField(label='Von',
input_formats=date_formats,
initial=datetime.date.today)
end = forms.DateField(label='Bis',
input_formats=date_formats,
initial=datetime.date.today)

+ 11
- 0
posts/templates/posts/edit.html View File

@@ -0,0 +1,11 @@
{% extends "base.html" %}
{% block content %}

<h1>Neue Nachricht</h1>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Speichern</button>
</form>

{% endblock %}

+ 10
- 6
posts/templates/posts/notice.html View File

@@ -3,14 +3,18 @@

<h2>Seite Infos</h2>

{% for notice in allnotice %}

<div class="notice">
<h3>{{ notice.notice_title }}</h3>
<h3>{{ notice.notice_text |linebreaks }}</h3>
</div>
{% empty %}

<div class="card w-100">
<div class="card-body">
{% for notice in allnotice %}
<h5 class="card-title">{{ notice.notice_title }}</h5>
<p class="card-text">{{ notice.notice_text |linebreaks }}</p>
<p><a href="{% url 'delete' deleteId=notice.id%}" class="btn btn-danger">Nachricht Löschen</a></p>
{% endfor %}
<p><a href="{% url 'new' %}" class="btn btn-info" role="button">Neue Nachricht</a></p>
</div>
</div>


{% endblock %}

+ 4
- 1
posts/urls.py View File

@@ -1,3 +1,4 @@
from django.conf.urls import url
from django.urls import path
from posts import views

@@ -5,5 +6,7 @@ urlpatterns = [
path('notice', views.index, name='index'),
path('welcome', views.welcome_seite),
path('home', views.welcome_seite),
path('about', views.about_seite)
path('about', views.about_seite),
url(r'^new', views.new, name='new'),
path('delete/<int:deleteId>', views.delete, name ='delete')
]

+ 26
- 2
posts/views.py View File

@@ -1,5 +1,8 @@
from django.shortcuts import render
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.utils import timezone

from posts.forms import NoticeForm
from posts.models import Notice

# Create your views here.
@@ -13,4 +16,25 @@ def welcome_seite(request):
return render(request, 'posts/index.html')

def about_seite(request):
return render(request, 'posts/about.html')
return render(request, 'posts/about.html')

def new(request):
if request.method == "POST":
form = NoticeForm(request.POST)
if form.is_valid():
newNotice = Notice(notice_title=form.cleaned_data['title'],
notice_text=form.cleaned_data['text'],
pub_start=form.cleaned_data['start'],
pub_end=form.cleaned_data['end'])
newNotice.save()
return redirect('index')
context = {'form': NoticeForm()}
return render(request, 'posts/edit.html', context)


def delete(request, deleteId = None):
if deleteId != None:
delNotice = Notice.objects.get(id=deleteId)
if delNotice != None:
delNotice.delete()
return redirect('index')

Loading…
Cancel
Save