首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置SocketServer以使用Django

配置SocketServer以使用Django
EN

Stack Overflow用户
提问于 2017-01-24 13:47:23
回答 2查看 547关注 0票数 0

我有一台可以与TCP端口通信的设备。它附带了一个只能在windows中运行的桌面应用程序。但我想在linux服务器和django应用程序中使用它。我试图与SocketServer库通信,它工作得很好,但在socket服务器中使用djangos ORM时遇到了问题。我需要将数据存储到数据库中。

EN

回答 2

Stack Overflow用户

发布于 2017-01-24 14:11:12

我做了一个django应用程序,它是为设备的数据而构建的。在应用程序中,我有一个名为socket_server.py的文件。其代码如下所示

`

代码语言:javascript
复制
import SocketServer
import django
from models import Demo

class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
    # self.request is the TCP socket connected to the client
    self.data = self.request.recv(1024).strip()
    print "{} wrote:".format(self.client_address[0])
    print self.data
    demo = Demo(
        text=self.data
    )
    demo.save()
    self.request.sendall(self.data.upper())

if __name__ == "__main__":
    HOST, PORT = "localhost", 9999
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
    server.serve_forever()` 

当我尝试运行socket_server.py文件Traceback (most recent call last): File "socket_server.py", line 5, in <module> from .models import Demo ValueError: Attempted relative import in non-package niloy@niloy-PC ~/PycharmProjects/django-practice/books $ python socket_server.py Traceback (most recent call last): File "socket_server.py", line 5, in <module> from models import Demo File "/home/niloy/PycharmProjects/django-practice/books/models.py", line 9, in <module> class Publisher(models.Model): File "/home/niloy/PycharmProjects/django-practice/books/models.py", line 10, in Publisher name = models.CharField(max_length=30) File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1043, in __init__ super(CharField, self).__init__(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 166, in __init__ self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__ self._setup(name) File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 39, in _setup % (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. niloy@niloy-PC ~/PycharmProjects/django-practice/books $ python socket_server.py Traceback (most recent call last): File "socket_server.py", line 5, in <module> from models import Demo File "/home/niloy/PycharmProjects/django-practice/books/models.py", line 9, in <module> class Publisher(models.Model): File "/home/niloy/PycharmProjects/django-practice/books/models.py", line 10, in Publisher name = models.CharField(max_length=30) File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1043, in __init__ super(CharField, self).__init__(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 166, in __init__ self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__ self._setup(name) File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 39, in _setup % (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.时,我得到了以下信息

票数 0
EN

Stack Overflow用户

发布于 2021-02-28 19:35:02

为了使用独立的Django特性,您应该在导入之后使用django.setup()手动设置Django。请参阅文档here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41820849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档