Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以通过PyQt5登录Django管理员?_Python_Django_Pyqt5_Pyside - Fatal编程技术网

Python 是否可以通过PyQt5登录Django管理员?

Python 是否可以通过PyQt5登录Django管理员?,python,django,pyqt5,pyside,Python,Django,Pyqt5,Pyside,我想知道是否可以通过PyQt5登录到django。我一直在尝试一些事情,但没有多大成功。下面,我尝试使用PyQt5的QtNetwork解决方案。这是我的代码: 导入json 导入系统 导入请求 从PyQt5.qtwidts导入QMainWindow、QApplication、QPushButton、QLineEdit、QMessageBox、QLabel 从PyQt5.QtCore导入pyqtlot 从PyQt5导入QtCore、QtGui、QtNetwork 从django.test导入客户端

我想知道是否可以通过PyQt5登录到django。我一直在尝试一些事情,但没有多大成功。下面,我尝试使用PyQt5的QtNetwork解决方案。这是我的代码:

导入json
导入系统
导入请求
从PyQt5.qtwidts导入QMainWindow、QApplication、QPushButton、QLineEdit、QMessageBox、QLabel
从PyQt5.QtCore导入pyqtlot
从PyQt5导入QtCore、QtGui、QtNetwork
从django.test导入客户端
从querystring导入querystring
类应用程序登录(QMainWindow):
定义初始化(自):
super()。\uuuu init\uuuuu()
self.title='在桌面应用程序中登录'
self.left=500
self.top=300
自宽=380
自身高度=180
self.username=None
self.password=None
self.button=无
self.nam=QtNetwork.QNetworkAccessManager()
定义调用(self,*args,**kwargs):
self.setWindowTitle(self.title)
self.setGeometry(self.left、self.top、self.width、self.height)
#创建用户名文本框
self.username=QLineEdit(self)
self.username.move(20,20)
self.username.resize(280,40)
self.username.setPlaceholderText('Usuário')
#创建密码文本框
self.password=QLineEdit(self)
self.password.setEchoMode(QLineEdit.password)
self.password.move(20,80)
self.password.resize(280,40)
self.password.setPlaceholderText('Senha'))
#在窗口中创建一个按钮
self.button=QPushButton('Login',self)
自动按钮移动(20140)
#连接按钮到函数登录
self.button.clicked.connect(self.login)
self.show()
@pyqtSlot()
def登录(自我):
#我的桌面应用程序中的用户和密码
user=self.username.text()
passwd=self.password.text()
#我的Django应用程序Url
url=”http://127.0.0.1:8000/login"
数据={'username':用户,'password':passwd}
#在这里,我使用QtNetWork接受请求
req=QtNetwork.QNetworkRequest(QtCore.QUrl))
请求setHeader(QtNetwork.QNetworkRequest.ContentTypeHeader,
“应用程序/x-www-form-urlencoded”)
self.nam.finished.connect(self.handle\u响应)
self.nam.post(需求、数据)
#用于回复错误的函数
def句柄_响应(自我,回复):
error=reply.error()
#这里没有入口
如果错误==QtNetwork.QNetworkReply.NoError:
打印(“成功!!!”)
#这两个条目都没有
其他:
QMessageBox.question(
self,“Error”,“Unauthenticated user!”,QMessageBox.Ok,QMessageBox.Ok
)
self.username.setText(“”)
self.password.setText(“”)
QtCore.QCoreApplication.quit()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app=QApplication(sys.argv)
ex=AppLogin()
ex()
sys.exit(app.exec_())

更好地解释。。。我的问题是使用PyQt5或Pyside为作业测试创建一个应用程序,它使用了一个web身份验证服务(Django、Flask等)。桌面应用程序中应该有一个用户名和密码窗口,用于查询此信息。我发送给他们的是一个查询本地数据库的应用程序,只需查找用户名()。但是,我想知道是否有办法遵循上面这一行代码。

share django projectHi@ellyanesc,谢谢您的评论!我在PyQt5中的代码可以归结为这里的代码,但是我的django项目可以在这里查看()。我有一个好奇的问题:你为什么要登录?好的,我回答你的问题没有问题。这是对工作的考验,但我没有按正确的方式做。所以,我想知道怎么做,如果可能的话。如果你能帮助我,我很感激!好的,您希望使用django和flask进行身份验证,UI使用PyQt/PySide完成,从中可以得出结论,在WEB上不需要登录视图,因此在这些情况下,它更好(即更简单、可扩展)要实现REST API,我的回答是在django/flask中实现REST API,而在PyQt/PySide中编写的UI用于验证和使用服务,这是否正确?你似乎不了解整个要求。