def oneclick(request):
form = FilterAnalysisForm()
if request.method == 'GET':
print('Entrando no GET')
# print request.META
query_string = request.META['QUERY_STRING']
print(query_string)
if query_string != '':
print("LIMPANDO")
new_query_string = []
query_string = query_string.split('&')
for item in query_string:
if not (item.startswith('csrfmiddlewaretoken') or item.startswith('hash') or item.startswith('wizard')):
#get here only the ones need to be cleaned Ex. 1-chr
#item = "-".join(item.split('-', 2)[1:])
new_query_string.append(item)
#create new query
filterstring = "&".join(new_query_string)
# return HttpResponseRedirect('/filter_analysis/?%s' % (filterstring))
return redirect(reverse('filter_analysis')+'?'+filterstring)
return render(request, 'filter_analysis/oneclick.html', {'form':form})
python类redirect()的实例源码
def create(request):
print('Hello')
filterstring = request.META['QUERY_STRING']
print(filterstring)
if request.method == 'POST':
form = Filter(request.POST)
if form.is_valid():
#use id for unique names
filter = FilterAnalysis.objects.create(user=request.user)
filter.name = request.POST['name']
filter.filterstring = form.cleaned_data['filterstring']
filter.save()
#return HttpResponseRedirect('/filter_analysis/?%s' % (filter.filterstring))
return redirect(reverse('filter_analysis')+'?'+filter.filterstring)
else:
form = Filter(initial={'filterstring': filterstring})
return render(request, 'filter_analysis/createfilter.html', {'form': form})
def family_analysis_create_filter(request):
print('Hello')
filterstring = request.META['QUERY_STRING']
print(filterstring)
if request.method == 'POST':
form = FamilyFilter(request.POST)
if form.is_valid():
#use id for unique names
filter = FamilyFilterAnalysis.objects.create(user=request.user)
filter.name = request.POST['name']
filter.filterstring = form.cleaned_data['filterstring']
filter.save()
#return HttpResponseRedirect('/filter_analysis/family_analysis/?%s' % (filter.filterstring))
return redirect(reverse('family_analysis')+'?'+filter.filterstring)
# return redirect('mendelmd/%s' % (reverse('family_analysis')+'?'+filter.filterstring))
else:
form = FamilyFilter(initial={'filterstring': filterstring})
return render(request, 'filter_analysis/createfilter.html', {'form': form})
def createconfig(request):
print('Hello Config')
query_string = request.META['QUERY_STRING']
new_query_string = []
for item in query_string.split('&'):
if not item.startswith('individuals'):
new_query_string.append(item)
query_string = "&".join(new_query_string)
filterstring = query_string
if request.method == 'POST':
form = Filter(request.POST)
if form.is_valid():
#use id for unique names
filterconfig = FilterConfig.objects.create(user=request.user)
filterconfig.name = request.POST['name']
filterconfig.filterstring = form.cleaned_data['filterstring']
filterconfig.save()
#return HttpResponseRedirect('/filter_analysis/?%s' % (filterconfig.filterstring))
return redirect(reverse('filter_analysis')+'?'+filterconfig.filterstring)
else:
form = Filter(initial={'filterstring': filterstring})
return render(request, 'filter_analysis/createfilter.html', {'form': form})
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is None:
messages.error(request, _('No user account matches the entered credentials.'))
return redirect('common:login')
if not user.is_active:
messages.error(request, _('User account is deactivated.'))
return redirect('common:login')
login(request, user)
url = urllib.parse.unquote(request.GET.get('next', ''))
if url and is_safe_url(url, request.get_host()):
return redirect(url)
return redirect('/')
def job_misclassify(request, id):
instance = get_list_or_404(AllJobTitle, profile_id=id)
id_instance = [job.id for job in instance]
instance = [job.job for job in instance]
form = JobMisClassify(request.POST or None, extra=instance)
industry_map = {'software': 0, 'engineering': 1, 'research': 2, 'design': 3, 'data_science': 4,
'product_manager': 5, 'business_finance': 6, 'startup_founder': 7,
'admin_it': 8, 'crypto': 9}
if form.is_valid():
for i in form.extra_answers():
i = list(i)
if len(i[-1]) > 0:
if i[-1] in industry_map.keys():
i[-1] = industry_map.get(i[-1])
index = instance.index(i[0])
job_id = id_instance[index]
j = AllJobTitle.objects.get(id=job_id)
j.job_classification = i[-1]
j.save()
return redirect('home')
return render(request, 'job_misclassify.html', {'form':form})
def get_object(self, *args, **kwargs):
instance_id = self.kwargs['instance_id']
try:
instance = api.nova.server_get(self.request, instance_id)
except Exception:
redirect = reverse("horizon:project:instances:index")
msg = _('Unable to retrieve instance details.')
exceptions.handle(self.request, msg, redirect=redirect)
flavor_id = instance.flavor['id']
flavors = self.get_flavors()
if flavor_id in flavors:
instance.flavor_name = flavors[flavor_id].name
else:
try:
flavor = api.nova.flavor_get(self.request, flavor_id)
instance.flavor_name = flavor.name
except Exception:
msg = _('Unable to retrieve flavor information for instance '
'"%s".') % instance_id
exceptions.handle(self.request, msg, ignore=True)
instance.flavor_name = _("Not available")
return instance
def single(self, table, request, instance_id):
try:
# target_id is port_id for Neutron and instance_id for Nova Network
# (Neutron API wrapper returns a 'portid_fixedip' string)
target_id = api.network.floating_ip_target_get_by_instance(
request, instance_id).split('_')[0]
fip = api.network.tenant_floating_ip_allocate(request)
api.network.floating_ip_associate(request, fip.id, target_id)
messages.success(request,
_("Successfully associated floating IP: %s")
% fip.ip)
except Exception:
exceptions.handle(request,
_("Unable to associate floating IP."))
return shortcuts.redirect(request.get_full_path())
def single(self, table, request, instance_id):
try:
# target_id is port_id for Neutron and instance_id for Nova Network
# (Neutron API wrapper returns a 'portid_fixedip' string)
targets = api.network.floating_ip_target_list_by_instance(
request, instance_id)
target_ids = [t.split('_')[0] for t in targets]
fips = [fip for fip in api.network.tenant_floating_ip_list(request)
if fip.port_id in target_ids]
# Removing multiple floating IPs at once doesn't work, so this pops
# off the first one.
if fips:
fip = fips.pop()
api.network.floating_ip_disassociate(request, fip.id)
messages.success(request,
_("Successfully disassociated "
"floating IP: %s") % fip.ip)
else:
messages.info(request, _("No floating IPs to disassociate."))
except Exception:
exceptions.handle(request,
_("Unable to disassociate floating IP."))
return shortcuts.redirect(request.get_full_path())
def single(self, table, request, pool_id):
try:
pool = api.lbaas.pool_get(request, pool_id)
fips = api.network.tenant_floating_ip_list(request)
vip_fips = [fip for fip in fips
if fip.port_id == pool.vip.port_id]
if not vip_fips:
messages.info(request, _("No floating IPs to disassociate."))
else:
api.network.floating_ip_disassociate(request,
vip_fips[0].id)
messages.success(request,
_("Successfully disassociated "
"floating IP: %s") % fip.ip)
except Exception:
exceptions.handle(request,
_("Unable to disassociate floating IP."))
return shortcuts.redirect(request.get_full_path())
def _download_rc_file_for_template(request, context, template):
try:
response = shortcuts.render(request,
template,
context,
content_type="text/plain")
response['Content-Disposition'] = ('attachment; '
'filename="%s-openrc.sh"'
% context['tenant_name'])
response['Content-Length'] = str(len(response.content))
return response
except Exception as e:
LOG.exception("Exception in DownloadOpenRCForm.")
messages.error(request, _('Error Downloading RC File: %s') % e)
return shortcuts.redirect(request.build_absolute_uri())
def post(self, request):
form1=self.form_class1(request.POST)
form2 = self.form_class2(request.POST)
if form1.is_valid() and form2.is_valid():
user = form1.save(commit=False)
coder = form2.save(commit=False)
username = form1.cleaned_data['username']
password = form1.cleaned_data['password']
email = form1.clean_email()
user.set_password(password)
user.save()
coder.user = user
coder.save()
user = authenticate(username = username,password = password)
if user is not None:
if user.is_active:
login(request, user)
return redirect('/')
return render(request, self.template_name, {'form1': form1, 'form2': form2})
def new(request):
form = None
if request.method == 'POST':
form = URLForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
user_account = Account.get_by_user(request.user)
post.owner = user_account
post.publisher = user_account
try:
post.set_metadata()
post.save()
return redirect('home')
except LinkException as e:
form.add_error(None, e)
return render(request, 'home.html', {'form': form})
def blog_search(request,):
search_for = request.GET['search_for']
if search_for:
results = []
article_list = get_list_or_404(Article)
category_list = get_list_or_404(Category)
for article in article_list:
if re.findall(search_for, article.title):
results.append(article)
for article in results:
article.body = markdown.markdown(article.body, )
tag_list = Tag.objects.all().order_by('name')
return render(request, 'blog/search.html', {'article_list': results,
'category_list': category_list,
'tag_list': tag_list})
else:
return redirect('app:index')
def post(self, request, *args, **kwargs):
"""Save sort order."""
self.object = self.get_object()
self._save_sort_order(request.POST.get("sort_order").split(","))
return redirect(self.get_success_url())
def post(self, request, *args, **kwargs):
if request.POST.get("regenerate") == "regenerate":
self.object.auth_token.delete()
return redirect(self.get_success_url())
def logout(request):
auth_logout(request)
return redirect('/')
def post(self, *args, **kwargs):
product_delete_pk = kwargs.get('pk', None)
product_pk = kwargs.get('tpk', None)
if product_pk and product_delete_pk:
product_delete = ProductFinal.objects.filter(pk=product_delete_pk).first()
product = ProductFinal.objects.filter(pk=product_pk).first()
if product and product_delete:
product.related.remove(product_delete)
return redirect(reverse_lazy("status", kwargs={'status': 'accept', 'answer': urlsafe_base64_encode(json.dumps({'__pk__': None, '__str__': 'OK'}))}))
# ------- sublista de accesorios productos -------
def post(self, *args, **kwargs):
product_delete_pk = kwargs.get('pk', None)
product_pk = kwargs.get('tpk', None)
if product_pk and product_delete_pk:
product_delete = ProductFinal.objects.filter(pk=product_delete_pk).first()
product = ProductFinal.objects.filter(pk=product_pk).first()
if product and product_delete:
product.related_accesory.remove(product_delete)
return redirect(reverse_lazy("status", kwargs={'status': 'accept', 'answer': urlsafe_base64_encode(json.dumps({'__pk__': None, '__str__': 'OK'}))}))
# ###########################################
def user_logout(request):
logout(request)
return redirect('/')