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