如何在#Djangos,#python

时间:2018-11-27 07:06:18

标签: django

很抱歉,如果重复查询,我无法在此处找到问题的答案。

我用托管在开发服务器中的Django开发了一个网页。在开发箱之外的任何人都可以访问该网页。 requiremnet:在用户访问网站时,右上角的核心人员我想显示用户计算机的名称。(注意:我不是在要求用户注册)。

我在下面编写了获取用户名的代码,但它总是从开发框中显示管理员显示名称。

如何在局域网中打开网页的地方获取用户计算机名称。

///view.py
import ctypes
def get_display_name():
    GetUserNameEx = ctypes.windll.secur32.GetUserNameExW
    NameDisplay = 3
    size = ctypes.pointer(ctypes.c_ulong(0))
    GetUserNameEx(NameDisplay, None, size)
    nameBuffer = ctypes.create_unicode_buffer(size.contents.value)
    GetUserNameEx(NameDisplay, nameBuffer, size)
    return(nameBuffer.value)

def home_page(request):
    context = {
        "username":request.user.username,
    }
    return render(request,"default.html", context)

//default.html
<div>{{username}}</div>

1 个答案:

答案 0 :(得分:0)

我认为不可能。您提到的是局域网,所以我假设它仅适用于本地用户?如果是这样,您可以为网络上的每台计算机创建一个词典,将其IP与它们的计算机名称甚至用户名相关联。

开始获取他们的IP要容易得多。

ip = request.META.get('HTTP_X_FORWARDED_FOR')

尽管不可靠。

有关此主题的其他答案:

Get domain/host

Getting IP