python - django - urls.py 根路径集

标签 python django django-urls

当我输入 localhost:8000localhost:8000/store 时,两个 View 都与 home/index.html 相同。 我希望这些路径设置不同的 View 。

网址.py

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'', 'home.views.index', name='view_home'),
    url(r'^admin/', admin.site.urls),
    url(r'^store/$', 'store.views.store_list', name='view_store_list'),
    url(r'^store/(?P<store_id>\d+)$', 'store.views.single_store')
]

views.py - 主页

from django.shortcuts import render

def index(request):
    return render(
        request,
        'index.html'
    )

views.py - 商店

from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse

from .models import Store # fetch Store model

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger # paginate
def store_list(request):
    store_list = Store.objects.all()
    paginator = Paginator(store_list, 2)

    page = request.GET.get('page')
    try:
        stores = paginator.page(page)
    except PageNotAnInteger:
        stores = paginator.page(1)
    except EmptyPage:
        stores = paginator.page(paginator.num_pages)

    return render(
        request,
        'index.html',
        {
            'stores': stores,
        }
    )

干杯!

编辑:

我也尝试了 url(r'^$', 'home.views.index', name='view_home'),,但结果相同。

最佳答案

您需要锚定和终止 Root View 的模式:

 url(r'^$', 'home.views.index', name='view_home'),

关于python - django - urls.py 根路径集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587009/

相关文章:

python - Django - 每个域的 URLConf?

python - 配置 Django URLS.py 以在用 end/重写 URL 后将 #anchors 保留在 URL 中

python - 在正则表达式后添加一个新行

python - 表单中的数据未插入到用户表中

django 模糊字符串翻译不显示

python - 不要国际化/翻译 URL

python - 我如何从标准输入读取?

Python argparse : Lots of choices results in ugly help output

python - Django Allauth 自定义登录不显示错误

python - Django 同时编辑模型的字段