【问题标题】:Unable to pass date in django URL无法在 django URL 中传递日期
【发布时间】:2011-03-22 06:23:41
【问题描述】:

我正在尝试以 yyyy/mm/dd 格式传递日期。它最多只能接受 yyyy/mm 的月份。当我通过日期时,它说找不到页面(404)。类似于 url 每周报告/2011/03/22 中的内容。

这是我的 url.py

url(r'^weeklyreports/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d+)/$', 'weeklyreports'),

我也试过下面的网址

url(r'^weeklyreports/\d{4}/\d{02}/\d{04}/$', 'weeklyreports'), 

我的观点weeklyreports.py

def weeklyreports(request, year = None, month = None, day = None):
   today = datetime.date.today()
   if year:
      year = int(year)
      month = int(month)
      day = int(day)
      today = datetime.date(year, month, day)    

   weekday = today.weekday()
   start_delta = datetime.timedelta(days = weekday)
   start_of_week = today - start_delta

   week_dates = [start_of_week + datetime.timedelta(days=i) for i in range(7)]
   previous_week = start_of_week - datetime.timedelta(7)
   next_week = start_of_week + datetime.timedelta(7)
   return render_to_response('template/weeklyreports.html', locals(),
                              context_instance = RequestContext(request))

这是我的模板

enter code here
<a href="/myapp/weeklyreports/{{previous_week|date:"Y/m/d"}}"><img src="{{MEDIA_URL}}/img/previous.png"></a>
<b>Weekly Reports</b>
<a href="/myapp/weeklyreports/{{next_week|date:"Y/m/d"}}"><img src="{{MEDIA_URL}}/img/next.png"></a>

这段代码有什么问题?提前致谢

【问题讨论】:

  • 模式 r'^weeklyreports/(\d+)/(\d+)/(\d+)/$' 是否接受 url :weeklyreports/2010/1/1/ 因为如果不是那么一些否则您的代码中未显示可能是错误的。
  • 请张贴整个 urlconf
  • 可能与斜杠有关吗?见herehere

标签: django url date


【解决方案1】:

为您的网址添加名称:

url(r'^weeklyreports/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d+)/$', 'weeklyreports', name='weeklyreports'),

在您的模板中,使用您的命名网址weeklyreports

<a href="{% url weeklyreports 2011 03 22 %}">

以上对你有用吗?

【讨论】:

    【解决方案2】:

    它最多只能接受一个月 年年/毫米

    这些链接:

    <a href="/myapp/weeklyreports/{{previous_week|date:"Y/m/d"}}">
    <a href="/myapp/weeklyreports/{{next_week|date:"Y/m/d"}}"> 
    

    应该是:

    <a href="/myapp/weeklyreports/{{previous_week|date:"Y/m/d"}}/">
    <a href="/myapp/weeklyreports/{{next_week|date:"Y/m/d"}}/">
    

    注意斜杠

    URLconf 搜索的内容

    URLconf 搜索 请求的 URL,作为普通的 Python 细绳。这不包括 GET 或 POST 参数,或者域名。

    例如,在请求中 http://www.example.com/myapp/, URLconf 将查找 myapp/。

    在请求中 http://www.example.com/myapp/?page=3, URLconf 将查找 myapp/。

    URLconf 不查看 请求方法。换句话说,所有 请求方法——POST、GET、HEAD、 等 - 将被路由到相同的 同一个 URL 的函数。

    http://docs.djangoproject.com/en/dev/topics/http/urls/#example

    【讨论】:

      猜你喜欢
      • 2018-06-07
      • 2020-10-24
      • 1970-01-01
      • 2018-10-11
      • 2013-08-07
      • 2018-12-06
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多