【发布时间】:2021-03-16 19:47:23
【问题描述】:
未找到带有参数“(”,)“的“重定向”的反向操作。尝试了 1 种模式['Raccourcisseur/Lien/(?P[^/]+)/$']
[关于错误][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 列表(请求): minis = MiniURL.objects.order_by('-acces') return render(request, 'mini_url/liste.html', locals())
def 重定向(请求,代码): """ 重定向与 l'URL enregistrée """ mini = get_object_or_404(MiniURL, code=code) 迷你访问 += 1 迷你保存() 返回重定向(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#
{% 扩展 'mini_url/base.html' %}
{% 块标题 %}
Page RaccourcisseurUrl
{% 端块%}
{% 块体 %}
Le raccourcisseur d'URL 特别
Raccourcir une url
列出的 URLs raccourcies :
-
{% for mini in minis %}
- {{ mini.url }} 通过 {{ request.get_host } {% url '重定向' mini.code %} {% if mini.pseudo %} 标准杆 {{ mini.pseudo }} {% endif %} ({{mini.acces }} accès) {% 空的 %}
- Il n'y en pas actuellement {% endfor %}
【问题讨论】: