Reputation: 13
Reverse for 'redirection' with arguments '('',)' not found. 1 pattern(s) tried['Raccourcisseur/Lien/(?P[^/]+)/$']
[About errors][1]
#urls.py#
from django.urls import path
from . import views
urlpatterns = [
path('', views.liste,name='liste'),
path('nouveau/',views.afficher,name='afficher'),
path('Lien/<str:code>/',views.redirection,name='redirection'),
]
#urls.py(global)#
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('Raccourcisseur/',include('mini_url.urls')),
]
#views.py#
from django.shortcuts import render,redirect,get_object_or_404
from .models import MiniURL
from .forms import MiniURLForm
def afficher(request):
if request.method == "POST":
form = MiniURLForm(request.POST)
if form.is_valid():
form.save()
return redirect(liste)
else:
form = MiniURLForm()
return render(request,'mini_url/index.html',{'form':form})
def liste(request): minis = MiniURL.objects.order_by('-acces') return render(request, 'mini_url/liste.html', locals())
def redirection(request,code): """ Redirection vers l'URL enregistrée """ mini = get_object_or_404(MiniURL, code=code) mini.acces += 1 mini.save() return redirect(mini.url, permanent=True)
#index.html#
{% extends 'mini_url/base.html' %}
{% block title %}
RaccourcisseurUrl
{% endblock%}
{% block body %}
<h1>Raccourcir une URL </h1>
<form method="post" action="{% url 'afficher' %}">
{% csrf_token %}
{{form.as_p}}
<input type="submit"/>
</form>
{% endblock %}
#liste.html#
{% extends 'mini_url/base.html' %} {% block title %} Page RaccourcisseurUrl {% endblock%} {% block body %} <h1>Le raccourcisseur d'URL spécial </h1> <p></p><a href="{% url 'afficher' %}">Raccourcir une url </a></p> <p>Liste des URLs raccourcies : </p> <ul> {% for mini in minis %} <li>{{ mini.url }} via <a href="http://{{ request.get_host }}{% url 'redirection' mini.code %}"> {{ request.get_host } {% url 'redirection' mini.code %} </a> {% if mini.pseudo %} par {{ mini.pseudo }} {% endif %} ({{mini.acces }} accès) </li> {% empty %} <li> Il n'y en pas actuellement </li> {% endfor %} </ul> {% endblock %}
Upvotes: 0
Views: 103
Reputation: 3717
In your list.html most certainly in {% url 'redirection' mini.code %} mini.code has no value.
Upvotes: 0