将视图重定向到外部站点。如何追加参数?
RedirectView to external site. How to append parameters?
我想从我的页面重定向到外部站点。这个外部站点地址是定义的,永远不会改变......我可以实现它......挑战来自:
我有一个表单,它将 Q 发布到我的视图函数中,它给出了最终的参数字符串以传递到 url 的模式中,据推测附加到这个外部网站的主要地址之后?标记...我只是找不到如何将此字符串传递和附加到给定 url 的信息。不知何故这对我来说很难,请不要判断得太苛刻。参数只有一个,是一个字符串,在视图函数中形成。
我在 urls.py 中使用 RedirectView:
path('do_request/found/', RedirectView.as_view(url='https://docs.djangoproject.com/'), name='found_objects'),
在views.py中(可能有一些错误,但只是为了提问的目的):
class UserFoundRequestView(TemplateView):
model=ForQuery
template_name='found_objects.html'
def get_results(self, request):
our_queries = ForQuery.objects.all()
query=self.request.GET.get("q")
if query:
our_object=ForQuery.objects.filter(query_id__iexact=query)
for x in our_queries:
if x.query_id == our_object.query_id:
name = x.dep_station
#context = {
# 'name' : name,
#}
return name
def get_string(request):
base_url = 'https://docs.djangoproject.com/'
query_name = get_results()
query_string = urlencode(query_name)
url = '{}?{}'.format(base_url, query_string)
return redirect(url)
要么追加到 url 要么只是将形成的 url 带到 patterns->path...
感谢您的帮助!
我的模板:
{% extends "base_generic.html" %}
{% block content %}
<div>
<p>Paste value to the field</p>
<form method="get" action="{% url 'found_objects' %}">
<input type="text" name="q" placeholder="search by value" class="m-1 p-1"><button class=" btn btn-outline-primary m-1 p-1" type="Submit">Search</button>
</form>
</div>
{% endblock %}
您必须通过提交表单来触发视图,并且视图本身将 return 相应的重定向。 Between 是链接表单提交到相应视图的 url 映射,如下所示:
urls.py
from your_app.views import redirect_view
path('do_request/found/', redirect_view, name='found_objects'),
views.py
def redirect_view(request):
our_queries = ForQuery.objects.all()
query = request.GET.get("q")
if query:
our_object=ForQuery.objects.filter(query_id__iexact=query)
for x in our_queries:
if x.query_id == our_object.query_id:
name = x.dep_station
base_url = 'https://docs.djangoproject.com/'
query_string = urlencode(name)
url = '{}?{}'.format(base_url, query_string)
return redirect(url)
我想从我的页面重定向到外部站点。这个外部站点地址是定义的,永远不会改变......我可以实现它......挑战来自:
我有一个表单,它将 Q 发布到我的视图函数中,它给出了最终的参数字符串以传递到 url 的模式中,据推测附加到这个外部网站的主要地址之后?标记...我只是找不到如何将此字符串传递和附加到给定 url 的信息。不知何故这对我来说很难,请不要判断得太苛刻。参数只有一个,是一个字符串,在视图函数中形成。
我在 urls.py 中使用 RedirectView:
path('do_request/found/', RedirectView.as_view(url='https://docs.djangoproject.com/'), name='found_objects'),
在views.py中(可能有一些错误,但只是为了提问的目的):
class UserFoundRequestView(TemplateView):
model=ForQuery
template_name='found_objects.html'
def get_results(self, request):
our_queries = ForQuery.objects.all()
query=self.request.GET.get("q")
if query:
our_object=ForQuery.objects.filter(query_id__iexact=query)
for x in our_queries:
if x.query_id == our_object.query_id:
name = x.dep_station
#context = {
# 'name' : name,
#}
return name
def get_string(request):
base_url = 'https://docs.djangoproject.com/'
query_name = get_results()
query_string = urlencode(query_name)
url = '{}?{}'.format(base_url, query_string)
return redirect(url)
要么追加到 url 要么只是将形成的 url 带到 patterns->path...
感谢您的帮助!
我的模板:
{% extends "base_generic.html" %}
{% block content %}
<div>
<p>Paste value to the field</p>
<form method="get" action="{% url 'found_objects' %}">
<input type="text" name="q" placeholder="search by value" class="m-1 p-1"><button class=" btn btn-outline-primary m-1 p-1" type="Submit">Search</button>
</form>
</div>
{% endblock %}
您必须通过提交表单来触发视图,并且视图本身将 return 相应的重定向。 Between 是链接表单提交到相应视图的 url 映射,如下所示:
urls.py
from your_app.views import redirect_view
path('do_request/found/', redirect_view, name='found_objects'),
views.py
def redirect_view(request):
our_queries = ForQuery.objects.all()
query = request.GET.get("q")
if query:
our_object=ForQuery.objects.filter(query_id__iexact=query)
for x in our_queries:
if x.query_id == our_object.query_id:
name = x.dep_station
base_url = 'https://docs.djangoproject.com/'
query_string = urlencode(name)
url = '{}?{}'.format(base_url, query_string)
return redirect(url)