django在我使用动态url时创建了找不到的问题页面
app/url.pydjango在我使用动态url时创建了找不到的问题页面,django,django-2.0,django-1.x,Django,Django 2.0,Django 1.x,app/url.py from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.home, name = "home"), url(r'^productform/', views.product_create_view, name="productform"), url(r'^prod
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.home, name = "home"),
url(r'^productform/', views.product_create_view, name="productform"),
url(r'^products/<int:id>', views.products, name="products"),
]
views.py-->
获取未找到页面错误
我在浏览器上遇到此错误
您的url(..)
包含。您可以使用路径(..)
(及更高版本)来解决此问题;或者将模式转换为正则表达式模式并使用or(或更高)
因此,在和更高版本中,我们可以通过以下方式解决问题:
from django.conf.urls import path, url
from . import views
urlpatterns = [
url(r'^$', views.home, name = "home"),
url(r'^productform/', views.product_create_view, name="productform"),
path('products/<int:id>', views.products, name="products"),
]
从django.conf.url导入路径,url
从…起导入视图
URL模式=[
url(r'^$',views.home,name=“home”),
url(r“^productform/”,views.product\u create\u view,name=“productform”),
路径('products/',views.products,name=“products”),
]
或在:
从django.conf.url导入url
从…起导入视图
URL模式=[
url(r'^$',views.home,name=“home”),
url(r“^productform/”,views.product\u create\u view,name=“productform”),
url(r'^products/(?P\d+/$),views.products,name=“products”),
]
一个常见错误:您将path(…)
语法与url(…)
语法混合使用。请@WillemVanOnsem详细说明一下
def products(request, id):
obj = Product.objects.get(id=id)
context = {
"objects":obj
}
return render(request, "firstapp/products.html", context)
from django.conf.urls import path, url
from . import views
urlpatterns = [
url(r'^$', views.home, name = "home"),
url(r'^productform/', views.product_create_view, name="productform"),
path('products/<int:id>', views.products, name="products"),
]
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.home, name = "home"),
url(r'^productform/', views.product_create_view, name="productform"),
url(r'^products/(?P<id>\d+)/$', views.products, name="products"),
]