praktikum Sieben bearbeitung

This commit is contained in:
Amad Colovic 2019-11-26 15:30:55 +01:00
parent a67575f713
commit 5376f0e654
8 changed files with 94 additions and 38 deletions

View File

@ -105,7 +105,7 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/ # https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'de-de'
TIME_ZONE = 'UTC' TIME_ZONE = 'UTC'

View File

@ -1,9 +1,15 @@
from django.contrib import admin from django.contrib import admin
from django.urls import path, include from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('posts/', include('posts.urls')), path('posts/', include('posts.urls')),
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
] ]

13
posts/forms.py Normal file
View File

@ -0,0 +1,13 @@
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)

View File

@ -2,5 +2,7 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path('', views.index, name='index') path('', views.index, name='index'),
path('new', views.new, name='new'),
path('delete/<int:deleteId>', views.delete, name='delete'),
] ]

View File

@ -1,13 +1,34 @@
from django.shortcuts import render from django.shortcuts import render, redirect
from .models import Notice from .models import Notice
from django.utils import timezone from django.utils import timezone
from .forms import NoticeForm
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 index (request):
def index(request):
notices = Notice.objects.all() notices = Notice.objects.all()
notices = notices.filter(pub_start__lte=timezone.now()) notices = notices.filter(pub_start__lte=timezone.now())
notices = notices.filter(pub_end__gte=timezone.now()) notices = notices.filter(pub_end__gte=timezone.now())
context = { "notices" : notices } context = {"notices": notices}
return render(request, 'posts/index.html', context) return render(request, 'posts/index.html', context)
def delete(request, deleteId=None):
if deleteId !=None:
delNotice = Notice.objects.get(id=deleteId)
if delNotice != None:
delNotice.delete()
return redirect('index')

View File

@ -20,3 +20,5 @@
{% block content %} Platzhalter {% endblock %} {% block content %} Platzhalter {% endblock %}
</body> </body>
</html> </html>

26
templates/posts/edit.html Normal file
View File

@ -0,0 +1,26 @@
{% extends 'base.html' %}
{% block title %}
News
{% endblock %}
{% block content %}
<div class="container">
<h1>Neue Nachricht</h1>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Speichern</button>
</form>
</div>
{% endblock %}

View File

@ -11,40 +11,26 @@
{% for notice in notices %} {% for notice in notices %}
<h3>{{ notice.notice_title }}</h3> <h3>{{ notice.notice_title }}</h3>
<p>{{ notice.notice_text }}</p> <p>{{ notice.notice_text }}</p>
{% endfor %}
<p><a href="{% url 'new' %}" class="btn btn-info" role="button">Neue Nachricht</a></p>
<p><a href="{% url 'delete' deleteId=notice.id %}" class="btn btn-danger">
Meldung loeschen</a></p>
{% endfor %}
</div> </div>
{% endblock %} {% endblock %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Navbar Example</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<h4>.navbar .navbar-expand-sm</h4>
<!-- A horizontal navbar that becomes vertical on small screens -->
<nav class="navbar navbar-expand-sm bg-dark">
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="http://th-nuernberg.de">efi-homepage</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://google.de">Google</a>
</li>
</ul>
</nav>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</body>
</html>
<h1> Index der Polls-Applikation</h1>