无反向匹配 /

2024-03-06

我正在尝试制作非常有意义的网址,但我想我做错了。

这有效:

from django.conf.urls.defaults import patterns, url
from places.views import explore_view

urlpatterns = patterns('',
    url(r'', explore_view, name='explore'),
)

这不会:

from django.conf.urls.defaults import patterns, url
from places.views import explore_view

urlpatterns = patterns('',
    url(r'(?P<countryorcategory>[0-9A-Za-z._%+-]+)', explore_view, name='explore'),
)

当我收到此错误时:

使用参数“()”和关键字参数“{}”反转“探索” 未找到。

这是explore_view的代码:

def explore_view(request, countryorcategory=None):
    """
    This is the explore view - to view places sugeested by ambassadors
    """
    user = request.user
    page = request.GET.get("page", 1)
    per_page = request.GET.get("per_page", 20)
    category_id = request.GET.get("category_id", None)

    attrs = request.GET
    lat = safe_attr(attrs, "lat", "float", None)
    lon = safe_attr(attrs, "lon", "float", None)
    q = request.GET.get('q', None)

    if q and not lat or lon:
        cache_key = 'GoogleGeocode-{}'.format(hashlib.md5(q.encode('UTF-8', 'replace')).hexdigest())
        latlon = cache.get(cache_key)
        if not latlon:
            latlon = geocode(q)
            if latlon:
                cache.set(cache_key, latlon)
        if latlon:
            lat = latlon['lat']
            lon = latlon['lng']

    if not q:
        q = ''

    category_names = getattr(settings, "EXPLORE_CATEGORIES", [])
    categories = [Category.objects.get(name=cat_name).serialize() for cat_name in category_names]

    more = True
    places = Place.objects.explore_places(user, category_id=category_id, lat=lat, lon=lon, page=page, per_page=20)

    if len(places) != per_page:
        more = False

    return render_to_response('explore/main.html', {'places': places, 'categories': categories, 'category_id': category_id, 'lat': lat, 'lon': lon, 'more': more, 'q': q}, RequestContext(request))

这行:

url(r'(?P<countryorcategory>[0-9A-Za-z._%+-]+)', explore_view, name='explore')

...正在定义一个带有参数的 urlcountryorcategory在模板中。您需要在模板中的 url 上添加以下任一参数:

{% url 'explore' argument %}
{% url 'explore' countryorcategory=argument %}

如果您想继续使用同名的无参数 url,您可以定义其他 url同名但有不同的图案。例如:

urlpatterns = patterns('',
    url(r'(?P<countryorcategory>[0-9A-Za-z._%+-]+)', explore_view, name='explore'),
    url(r'', explore_view, name='explore'),
)

Then {% url 'explore' %}应该在有争论和没有争论的情况下都有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无反向匹配 / 的相关文章

随机推荐

  • 在 PHP 脚本中对 5000 个地址进行地理编码

    我希望在 PHP 脚本中一次对 5000 多个地址进行地理编码 这只会运行一次 我一直在研究谷歌作为这样做的潜在资源 但是我读过报告 在通过谷歌运行 200 个左右的查询后 谷歌将让你开始这一天 我只是想知道是否有其他方法可以对 5000
  • Git 使用错误的子密钥使用 GPG 密钥对提交进行签名

    我对 git 和使用 GPG 密钥签署提交有疑问 我有一个主密钥 仅用于认证 我为每台计算机创建了两个子密钥 仅用于签名 我已将公钥添加到 Github 并使用配置了 gituser signingKey配置选项 问题是 git 似乎忽略了
  • 在 Android 中抑制包中的 toast

    我正在开发一个 Android 应用程序 我试图用Toast 我用了Toast在其他项目中一切正常 但在这个应用程序中 当Toast应该出现 但它没有出现 Logcat 显示下一条消息 Suppressing toast from pack
  • 通过ajax打开FileStreamResult(作为下载的文件)

    是否可以使用 ajax 调用将 FileStreamResult 作为下载的文件打开 控制器方式 public FileStreamResult DownloadPDF var stream myHandler getFileStream
  • 在 iOS 上哪里可以添加来自 Firebase 的数据库引用?

    我正在按照此说明在 iOS 应用程序上安装和设置实时数据库link https firebase google com docs database ios start set up firebase database我很困惑在哪里添加声明s
  • Solr 查询无法正常工作

    我不知道出了什么问题 这实际上是一个非常简单的查询 在我的 Solr 搜索中不起作用 http IP ADDRESS solr CORE NAME select indent on q Bangalore wt json 我的数据库中有超过
  • SqlCommand-SqlConnection使用处置问题

    根据 MSDN 如果 IDisposable 资源 嵌套的内部using语句包含外部using的资源 语句中 嵌套资源的 Dispose 方法释放 包含的资源 MSDN http msdn microsoft com en us libra
  • 在ContinueWith()之后,ConfigureAwait(False)不会改变上下文

    我不知道我是否做错了什么 或者我在异步库中发现了错误 但在我使用 continueWith 返回到同步上下文后运行一些异步代码时 我发现了一个问题 更新 代码现在运行 using System using System ComponentM
  • 如果出现新组合,VBA 在表中添加行

    我有点难以找到一种根据资本支出类别 合作伙伴数量和期间向表中可变地添加行的方法 Mu final table looks like more sections but for example it is not a listobject i
  • 指定 Maven security-settings.xml 文件的自定义位置?

    使用 Maven 您可以轻松指定 settings xml 位置 例如 mvn s custom dir settings xml package 有没有类似的方法来指定自定义 security settings xml 其背后的原因很简单
  • 使用日历检查日期是否有效

    我想使用日历方法来设置年份和月份 但想要某种指示如果日期无效 例如 calendar set 2013 Calendar JANUARY 23 is a valid date calendar set 2013 Calendar JANUA
  • 如何启用/禁用 JEditable

    SOLUTION 感谢 Arman 的 P 概念验证 终于让它可以与我的网站一起使用了 CODE Edit Note function function makeEditable edit editable ajax save php ed
  • CStr() 与 Str() 与 .ToString()

    我想知道两者之间到底有什么区别CStr Str and ToString Label1 Text CStr Int Rnd 10 and Label1 Text Str Int Rnd 10 and Label1 Text Int Rnd
  • 以编程方式将主题应用到按钮

    是否可以以编程方式将 Widget AppCompat Button 主题应用于按钮 Button button new Button context button setText Button 目前 我正在使用自定义可绘制资源 尝试实现类
  • 如何从GridView中删除一行?

    我在用GridView控制在asp net questions tagged asp net 2005 c questions tagged c 23 using 如何从中删除特定行GridView 我编写了以下代码 但这不起作用 Data
  • 退出应用程序会导致错误“来自调试器的消息:由于信号 9 而终止”

    我正在编写一个基本的音乐播放器应用程序 但在处理应用程序状态转换时遇到一些问题 我正在使用 Swift 3 和 MPMusicPlayerController systemMusicPlayer 目标是这样的 1 当用户点击主页按钮并且应用
  • 使用 Sass 以可重用的方式设计一组特定的输入类型

    我想要一个 mixin 函数 它返回 HTML5 输入类型的列表 我想在一个地方管理它 当新类型出现时 改变函数 而不是代码中其他地方的所有地方 问题似乎是 mixins 的设计目的不是返回可以在 CSS 花括号之外使用的字符串 这是我的
  • jQuery 热键 - 解除绑定?

    我有一个 jQuery 对话框 它初始化热键如下 循环从 1 到 9 问题是 如果您关闭对话框然后重新打开对话框 它不断重新绑定 因此当您按下 1 键时 它会运行两次 三次 四次等 它会不断增长 我尝试杀死对话框上的键绑定关闭 docume
  • 带参数和选项的 C# 方法重载

    今天我发现了一些奇怪的事情 我想知道为什么这有效 static void Main string args Console WriteLine ExampleMethod 3 Console ReadKey public static st
  • 无反向匹配 /

    我正在尝试制作非常有意义的网址 但我想我做错了 这有效 from django conf urls defaults import patterns url from places views import explore view url