Commit d4f9d398 authored by Anthony Jacob's avatar Anthony Jacob
Browse files

manage Media, blog post, user

parent 06a7699b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3,3 +3,4 @@ venv/
*__pycache__*
.vscode/
fotoblog/.env
fotoblog/media/
+7 −0
Original line number Diff line number Diff line
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import get_user_model
from .models import User



@@ -12,3 +13,9 @@ class SignupForm(UserCreationForm):
    class Meta(UserCreationForm.Meta):
        model = get_user_model()
        fields = ('username', 'email', 'first_name', 'last_name', 'role')


class ProfilePictureForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ['profile_photo']
+31 −0
Original line number Diff line number Diff line
{% extends 'base.html' %}

{% block title %}Fotoblog - Photo de profil{% endblock %}

{% block content %}

        <h1>Photo de profil</h1>
        <p>
            <ul class="messages" id="messages-list">
                {% if messages %}
                    {% for message in messages %}
                    <li>
                        {% if message.tags %}
                             <div class="alert alert-{{ message.tags }} msg fade show" role="alert">{{ message }}</div>
                        {% else %}
                            <div class="alert alert-info msg fade show" role="alert">{{ message }}</div>
                        {% endif %}
                    </li>
                    {% endfor %}
                {% endif %}
            </ul>
           
            <form method="post" enctype="multipart/form-data">
                {{ form.as_p }}
                {% csrf_token %}
                <button type="submit" >uploader</button>
            </form>
        
        </p>

{% endblock %}
 No newline at end of file
+26 −3
Original line number Diff line number Diff line
@@ -2,14 +2,15 @@ from django.shortcuts import render, redirect
from django.conf import settings
from django.contrib import messages
from django.views.generic import View
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth import authenticate, login, logout
from . import forms
from .forms import LoginForm, ProfilePictureForm, SignupForm


class LoginView(View):
    dataview = dict()
    template_name = 'authentication/login.html'
    form_class = forms.LoginForm
    form_class = LoginForm

    def get(self, request):
        self.dataview['form'] = self.form_class()
@@ -42,7 +43,7 @@ class SignupView(View):

    dataview = dict()
    template_name = 'authentication/signup.html'
    form_class = forms.SignupForm
    form_class = SignupForm

    def get(self, request):
        self.dataview['form'] = self.form_class()
@@ -55,3 +56,25 @@ class SignupView(View):
            login(request, user)
            return redirect(settings.LOGIN_REDIRECT_URL)
        return render(request, self.template_name, self.dataview)
    
    
class ProfilePictureView(LoginRequiredMixin, View):
    dataview = dict()
    template_name = 'authentication/profile_upload.html'
    form_class = ProfilePictureForm

    def get(self, request):
        self.dataview['form'] = self.form_class()
        return render(request, self.template_name, self.dataview)

    def post(self, request):
        self.dataview['form'] = form = self.form_class(request.POST,
                                                       request.FILES,
                                                       instance=request.user)
        if form.is_valid():
            form.save()
            messages.add_message(request,
                                 messages.INFO,
                                 'photo ajoutée avec succès')
            return redirect('home')
        return render(request, self.template_name, self.dataview)

fotoblog/blog/forms.py

0 → 100644
+14 −0
Original line number Diff line number Diff line
from django import forms
from .models import Photo, Blog


class MediaForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = ['image', 'caption']


class BlogForm(forms.ModelForm):
    class Meta:
        model = Blog
        fields = ['title', 'content']
Loading