Djnago模板-具有多个参数的网址

时间:2020-10-14 18:10:20

标签: python-3.x django django-views django-templates

我正在使用Django模板。我想在URL中添加多个参数

当前我仅传递一个参数

我的reset_password.html

CREATE TABLE `member` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(255) DEFAULT NULL,
  `last_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

CREATE TABLE `member_membership` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `membership_id` int(11) DEFAULT NULL,
  `member_id` int(11) DEFAULT NULL,
  `organization_chain` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `member_membership_to_membership` (`membership_id`),
  KEY `member_membership_to_member` (`member_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

CREATE TABLE `membership` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `valid_to` datetime DEFAULT NULL,
  `valid_from` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `valid_to` (`valid_to`),
  KEY `valid_from` (`valid_from`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

ALTER TABLE `member_membership` ADD CONSTRAINT `member_membership_to_membership` FOREIGN KEY (`membership_id`) REFERENCES `membership` (`id`);

ALTER TABLE `member_membership` ADD CONSTRAINT `member_membership_to_member` FOREIGN KEY (`member_id`) REFERENCES `member` (`id`);

我的urls.py

Click on this link to reset your password 
{% if htmlVersion %}
    <div>
        <a href="{{domain}}{% url 'pweuser:user_password_sms_reset' token  %}">
            {{domain}}{% url 'pweuser:user_password_sms_reset' token %} 
        </a>
    </div>
{% else %}
{{domain}}{% url 'pweuser:user_password_sms_reset' token %}
{% endif %}
This link will expire in 15 minutes

我的views.py

url(r"^resetPasswordSms/(?P<token>[-\w_=]{28})/$", PasswordResetSmsView.as_view(), name="user_password_sms_reset",),

这里运作良好

在此我想添加多个参数。意味着这里的令牌是第一个参数,我需要将userId添加为第二个参数,并需要传入模板。

如何在URL和模板URL中添加多个参数

1 个答案:

答案 0 :(得分:1)

以下是您可以在URL中添加多个参数的方法:

curl --http2-prior-knowledge http://localhost:8000/

https://docs.djangoproject.com/en/3.1/topics/http/urls/#using-regular-expressions

和模板网址:

from django.urls import re_path
urlpatterns = [
re_path(r"^resetPasswordSms/(?P<userId>[0-9])/(?P<token>[-\w_=]{28})/$", PasswordResetSmsView.as_view(), name="user_password_sms_reset")
]

https://docs.djangoproject.com/en/3.1/ref/templates/builtins/#url

如果对任何部分有任何疑问,可以参考下面的链接。