首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django在管理命令中构建绝对url

django在管理命令中构建绝对url
EN

Stack Overflow用户
提问于 2014-07-01 18:52:47
回答 1查看 762关注 0票数 3

我们在django中使用reverse来获取url,例如。-

代码语言:javascript
运行
复制
my_url = reverse("name_of_url", kwargs={"param":param, "param2":param2})

在上面的例子中,my_url的格式是/path1/path2/..

如果我想生成像- www.mysite.com/path1/path2/这样的东西,我们需要执行以下操作-

代码语言:javascript
运行
复制
my_url = request.build_absolute_uri(reverse("name_of_url", kwargs={"param":param, "param2":param2}))

这将提供所需格式的URL。但问题是,我是在一个自定义管理命令中生成url的,并且无法访问request变量。有没有办法,我可以生成格式为www.mysite.com/path1/path2/的网址。

EN

回答 1

Stack Overflow用户

发布于 2014-07-01 18:59:17

不,据我所知,管理命令无法做到这一点。正如您已经认识到的那样,您使用部分request信息来构建完整的URL,并且当您从控制台启动管理命令时,没有任何请求。

我在我的项目中所做的就是使用您的基域在settings中设置一个名为BASE_URL的变量,并使用它来构建您的URL。

您还可以检查站点框架:https://docs.djangoproject.com/en/dev/ref/contrib/sites/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24508467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档