其他分享
首页 > 其他分享> > Django项目 反向解析url

Django项目 反向解析url

作者:互联网

在项目过程中,urlspy 文件中的 url都是写死的 ,如果修改其中的url  那么其他用到这个url的地方都会报错

本质:给url匹配模式起别名 ,然后通过别名拿到具体的url路径

解决方法:在url匹配模式中,定义 name = "别名"

示例:

urls.py文件中修改:

urlpatterns = [
path('add_publist/', views.add_publist,name="add_publist"),  # 新增出版社信息
]

html页面修改如下:
原本:
<a class="btn btn-primary" href="/add_publist/">新增出版社</a>
修改后:
<a class="btn btn-primary" href="{% url "add_publist" %}">新增出版社</a>

views.py文件修改如下:
from django.urls import reverse #这里需要导入
def add_publist(request):
if request.method == "POST":
new_name = request.POST.get("pub_name") # 取出新创建的出版社名称
models.Publisher.objects.create(name=new_name) # 在表中创建新的出版社名称
redirect_url = reverse("publist")
return redirect(redirect_url)
# 请求为get时 返回一个页面
return render(request, "add_publist.html")

标签:name,url,request,add,Django,publist,反向,出版社
来源: https://www.cnblogs.com/zs0621/p/16096764.html