python - 登录 Django 后将用户重定向到自定义链接
问题描述
在过去的几天里,我经历了很多类似的问题和解决方案,但在我的情况下找不到可行的解决方案。
我的代码是:
网址.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/$', login ,{'template_name': 'login_template.html'}),
url(r'^dashboard/(?P<slug>\w+)/$', login_required(DashboardHomeViewClass.as_view()),name = "dashboard"),
]
视图.py
class DashboardHomeViewClass(View):
def get(self, request, *args, **kwargs):
device_user_objects = device_user_data.objects.filter(User_Name = request.user.username)
device_parameter_objects = device_parameter_data.objects.all()
device_alias_list = []
device_id_list = []
queryset = []
light_list = []
for device in device_user_objects:
device_alias_list.append(device.Device_Alias_Data)
device_id_list.append(device.Device_Id_Data)
default_device = device_id_list[0]
slug = self.kwargs.get("slug")
for device_id in device_id_list:
if slug == device_id:
queryset = device_parameter_objects.filter(Device_Id = slug)
for data_object in queryset:
light_list.append(data_object.Light)
recent_light = light_list[-1]
context_logged = {'device_user_objects': device_user_objects,
'light_list': light_list,
'recent_light': recent_light}
return render(request, "dashboardhometemplate.html", context_logged)
在dashboardhometemplate.html 中使用此上下文的HTML 部分
{%for item in device_user_objects%}
<li> <a href="/dashboard/{{item.Device_Id_Data}}" aria-expanded="false"><i class="fa fa-bar-chart"></i><span class="hide-menu">{{item.Device_Alias_Data}}</span></a>
{% endfor %}
现在我想做的是
登录后将用户重定向到页面http://127.0.0.1:8000/dashboard/ {{views.py 中声明和定义的default_device变量的值}}
解决方案
你可以这样做
from django.shortcuts import redirect, render
def login_view_function(request):
# ....your code to determine if login allowed or not and populate the 'login_success' variable.
if login_success:
return redirect('/your/url_here')
else:
return render(request, 'login.html', {})
推荐阅读
- django - 在服务器上运行 django
- smartcard - 在不知道文件标识符的情况下读取 SmartCard ISO 7816 的文件结构
- python - css的django问题
- c++ - 在 C++ 中创建节点的不同方式是否令人困惑?
- r - R中的多个Shapefile导出为.csv
- angular - Angular 9 CLI 向后兼容性
- java - 如何使用 Kotlin/Java 解决 AWS 中的 AccessDeniedException?
- php - 消息:sizeof():参数必须是数组或实现了 Countable 的对象
- php - 在控制器上的字符串上调用成员函数 fill()
- r - 如何使用 glmmTMB 从模型输出中计算特定固定效应的预测均值