trying to make views/templates for create ticket and review
This commit is contained in:
parent
2e51350738
commit
b5e7762ef6
@ -38,6 +38,8 @@ urlpatterns = [
|
|||||||
path('flux/', reviews.views.flux, name='flux'),
|
path('flux/', reviews.views.flux, name='flux'),
|
||||||
path('posts/', reviews.views.posts, name='posts'),
|
path('posts/', reviews.views.posts, name='posts'),
|
||||||
path('subscribed/', reviews.views.subscribed, name='subscribed'),
|
path('subscribed/', reviews.views.subscribed, name='subscribed'),
|
||||||
|
path('ticket/add/', reviews.views.create_ticket, name='ticket-add'),
|
||||||
|
path('review/add/', reviews.views.create_review, name='review-add'),
|
||||||
]
|
]
|
||||||
|
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
|
BIN
LITReview/media/uploads/git.jpeg
Normal file
BIN
LITReview/media/uploads/git.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
@ -1,3 +1,7 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from reviews.models import Ticket, Review, UserFollows
|
||||||
|
|
||||||
# Register your models here.
|
|
||||||
|
admin.site.register(Ticket)
|
||||||
|
admin.site.register(Review)
|
||||||
|
admin.site.register(UserFollows)
|
||||||
|
8
LITReview/reviews/forms.py
Normal file
8
LITReview/reviews/forms.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
from django import forms
|
||||||
|
from . import models
|
||||||
|
|
||||||
|
|
||||||
|
class TicketForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = models.Ticket
|
||||||
|
fields = ['title', 'body', 'image']
|
@ -5,9 +5,9 @@ from django.db import models
|
|||||||
|
|
||||||
class Ticket(models.Model):
|
class Ticket(models.Model):
|
||||||
# Your Ticket model definition goes here
|
# Your Ticket model definition goes here
|
||||||
title = models.CharField(max_length=100)
|
title = models.CharField("Titre", max_length=100)
|
||||||
topic = models.CharField(max_length=100)
|
topic = models.CharField(max_length=100)
|
||||||
body = models.CharField(max_length=8192)
|
body = models.CharField("Description", max_length=8192)
|
||||||
user = models.ForeignKey(
|
user = models.ForeignKey(
|
||||||
to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
||||||
image = models.ImageField(upload_to="uploads/")
|
image = models.ImageField(upload_to="uploads/")
|
||||||
@ -29,10 +29,11 @@ class Review(models.Model):
|
|||||||
|
|
||||||
class UserFollows(models.Model):
|
class UserFollows(models.Model):
|
||||||
# Your UserFollows model definition goes here
|
# Your UserFollows model definition goes here
|
||||||
|
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
# ensures we don't get multiple UserFollows instances
|
# ensures we don't get multiple UserFollows instances
|
||||||
# for unique user-user_followed pairs
|
# for unique user-user_followed pairs
|
||||||
pass
|
pass
|
||||||
#unique_together = ('user', 'followed_user', )
|
#unique_together = ('user', 'followed_user', )
|
||||||
pass
|
|
||||||
|
23
LITReview/reviews/templates/reviews/create_review.html
Normal file
23
LITReview/reviews/templates/reviews/create_review.html
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col d-flex justify-content-center">
|
||||||
|
<h2>Créer une critique</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-3 border-secondary-subtle">
|
||||||
|
<h3> Livre/Article </h3>
|
||||||
|
<form method="post" enctype="multipart/form-data">
|
||||||
|
{% csrf_token %}
|
||||||
|
<label for="title">Titre</label>
|
||||||
|
<div class="d-flex flex-grow-1 mb-4"> </div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-3 border-secondary-subtle">
|
||||||
|
<h3>Critique</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
29
LITReview/reviews/templates/reviews/create_ticket.html
Normal file
29
LITReview/reviews/templates/reviews/create_ticket.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<div class="col-md-auto form-group mt-5">
|
||||||
|
<h2> Créer un ticket </h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row d-flex justify-content-center mt-5">
|
||||||
|
<div class="col-md-auto form-group justify-content-center">
|
||||||
|
<form method='post' enctype='multipart/form-data'>
|
||||||
|
{% csrf_token %}
|
||||||
|
<label for='title'> Titre: </label>
|
||||||
|
<div class="d-flex justify-content-center mb-4">{{ ticket_form.title }}</div>
|
||||||
|
<label for='body'>Description: </label>
|
||||||
|
<div class="d-flex justify-content-center mb-4">{{ ticket_form.body }}</div>
|
||||||
|
<label for='image'>Image: </label>
|
||||||
|
<div class="d-flex justify-content-center mb-4">{{ ticket_form.image }}</div>
|
||||||
|
<div class="d-flex justify-content-end">
|
||||||
|
<button type='submit' class='btn btn-primary ml-auto'> Envoyer</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -1,17 +1,20 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% block nav %}
|
|
||||||
<nav class="navbar navbar-light ml-auto">
|
|
||||||
<a href="{% url 'flux' %}">Flux</a>
|
|
||||||
<a href="{% url 'posts' %}">Posts</a>
|
|
||||||
<a href="{% url 'subscribed' %}">Abonnements</a>
|
|
||||||
<form class="form-inline" method="post" action="{% url 'logout' %}">
|
|
||||||
{% csrf_token %}
|
|
||||||
<button type="submit" class="btn btn-light">Se déconnecter</button>
|
|
||||||
</form>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2> Bienvenue {{ user.name }}</h2>
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="d-flex justify-content-center mt-5">
|
||||||
|
<h2> Bienvenue {{ request.user }}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row d-flex align-items-center">
|
||||||
|
<div class="col-6">
|
||||||
|
<a href="{% url 'ticket-add' %}" type="button" class="btn btn-primary">Demander une critique</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<a href="{% url 'review-add' %}" type="button" class="btn btn-primary">Créer une critique</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render, redirect
|
||||||
|
from reviews.models import Ticket
|
||||||
|
from reviews.forms import TicketForm
|
||||||
|
|
||||||
def home(request):
|
def home(request):
|
||||||
return render(request, 'reviews/home.html')
|
return render(request, 'reviews/home.html')
|
||||||
@ -13,3 +15,25 @@ def subscribed(request):
|
|||||||
return render(request, 'reviews/subscribed.html')
|
return render(request, 'reviews/subscribed.html')
|
||||||
|
|
||||||
|
|
||||||
|
def create_ticket(request):
|
||||||
|
ticket_form = TicketForm()
|
||||||
|
if request.method == 'POST':
|
||||||
|
ticket_form = TicketForm(request.POST, request.FILES)
|
||||||
|
if ticket_form.is_valid():
|
||||||
|
ticket = ticket_form.save(commit=False)
|
||||||
|
ticket.user = request.user
|
||||||
|
ticket.save()
|
||||||
|
|
||||||
|
return render(request,
|
||||||
|
'reviews/create_ticket.html',
|
||||||
|
context = {'ticket_form': ticket_form})
|
||||||
|
|
||||||
|
def create_review(request):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def follow_user(request):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def unfollow_user(request):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@ -10,12 +9,31 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
<div class="container-fluid border border-3 border-secondary-subtle">
|
<div class="container-fluid border border-3 border-secondary-subtle">
|
||||||
<div class="row text-center">
|
<div class="col d-flex justify-content-center">
|
||||||
<h1> LITReview </h1>
|
<h1> LITReview </h1>
|
||||||
</div>
|
</div>
|
||||||
|
{% if user.is_authenticated %}
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{% url 'home' %}" class="nav-link {% if navbar == 'home' %}active{% endif %}">Flux</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{% url 'posts' %}" class="nav-link {% if navbar == 'posts' %}active{% endif %}">Posts</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{% url 'subscribed' %}" class="nav-link {% if navbar == 'subscribed' %}active{% endif %}">Abonnements</a>
|
||||||
|
</li>
|
||||||
|
<form class="form-inline" method="post" action="{% url 'logout' %}">
|
||||||
|
{% csrf_token %}
|
||||||
|
<button type="submit" class="btn btn-light">Se déconnecter</button>
|
||||||
|
</form>
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% block nav %}{% endblock %}
|
</nav>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user