gpt4 book ai didi

python - Django 网址无法重定向到单个网址

转载 作者:太空宇宙 更新时间:2023-11-04 09:28:51 25 4
gpt4 key购买 nike

我在“products”应用程序中的所有 url 都重定向到 products_list

urls.py
from django.conf.urls import url
from .views import(
product_list,
search,
add_product,
category_single,
manage_product_image,
edit_product,
download_product,
single,

)

app_name = 'products'

urlpatterns = [
url(r'^', product_list, name='product-list'),
url(r'^search/',search, name="search"),
url(r'^add/',add_product,name='add_product'),
url(r'^category/(?P<slug>.*)/$',category_single,name="category"),
url(r'^(?P<slug>.*)/images/',manage_product_image,name="manage_product_image"),
url(r'^(?P<slug>.*)/edit/',edit_product,name="edit_product"),
url(r'^(?P<slug>.*)/download/(?P<filename>.*)$',download_product,name="download_product"),
url(r'^(?P<slug>.*)/$',single,name="single_product"),
]

如果我输入 http://localhost:8000/products 它会将我发送到完美的产品列表,但是输入 http://localhost:8000/products/add/ 还向我发送了不完善的产品列表,应该是添加产品的表格。 View .py

def add_product(request):
form = ProductForm(request.POST or None)
if form.is_valid():
product = form.save(commit=False)
product.user = request.user
product.slug = slugify(form.cleaned_data['title'])
product.active = False
product.save()
return HttpResponseRedirect('/products/%s'%(product.slug))
context = {
'form':form,
}
return render(request,"products/edit.html",context)

我已经尝试注释 view.py 中的所有代码行,只是为了呈现模板仍然没有通过,只是带来了产品列表。

最佳答案

你的第一个url(..) [Django-doc] pattern 是匹配所有内容的模式。事实上,正则表达式 ^ 匹配所有字符串,因为您只指定字符串开始 anchor 。

您还应该添加一个字符串结尾 anchor ($):

urlpatterns = [
url(<b>r'^$'</b>, product_list, name='product-list'),
# ...
]

关于python - Django 网址无法重定向到单个网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56525101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com