Django绝对网址

时间:2019-02-01 09:59:48

标签: python django codeigniter url

因此,我是django的新手,我一直在研究PHP CodeIgniter,其中将绝对URL放入href中,我通过调用URL帮助程序使用了名为let myView = UIView() myView.frame = CGRect(x: 200, y: 200, width: 200, height: 200) myView.myViewCorners() //myView.myViewCorners(width: myView.frame.width)//Pass View width view.addSubview(myView) extension UIView { //If you want only round corners func myViewCorners() { layer.cornerRadius = 10 layer.borderWidth = 1.0 layer.borderColor = UIColor.red.cgColor layer.masksToBounds = true } //If you want complete round shape, enable above comment line func myViewCorners(width:CGFloat) { layer.cornerRadius = width/2 layer.borderWidth = 1.0 layer.borderColor = UIColor.red.cgColor layer.masksToBounds = true } } 的函数

base_url


给出类似的输出
<?php echo base_url().'user/login';?>
我想要在Django中做同样的事情,但没有任何我能理解的答案。我不想使用相对URL,我的预期结果应该是这样的

http://localhost/projectname/user/login


以上代码应返回
{% url 'login' %}

2 个答案:

答案 0 :(得分:2)

您可以通过django中的2种方法获取绝对URL。

一种方法是使用来构建自定义模板标签 HttpRequest中的HttpRequest.build_absolute_uri()方法

或者只是在django模板中使用以下行。

<a href="{{ request.get_host }}{% url your_url_name %}">Link</a>

有关详细信息,请参见此链接: https://docs.djangoproject.com/en/2.1/ref/request-response/#django.http.HttpRequest.get_host

答案 1 :(得分:0)

如果您在 urls.py 文件中定义的URL路径是这样的:

path('user/', views.user, name='user_list')

然后您可以像这样在模板中调用此URL:

<a href="{% url 'user_list' %}">Users</a>

查看https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#url了解详情。

对于绝对URL,您可以使用:

<a href="{{ request.get_host }}{% url 'user_list' %}">Users</a>