小编Fli*_*rPA的帖子

如何在Sql Server中使用Django

我通常在Django中使用Postgres来满足我的数据库需求,但是最近我在一家在Windows环境中使用MSSQL的公司开始工作。长话短说,我不得不重写settings.py中的数据库属性。不幸的是,我不知道如何使用Pyodbc连接到SQL Server,并且它们正在运行Python 3.x,所以我不能使用Django-Pyodbc。尝试运行它时,我得到一个:“找不到数据源名称,并且未指定默认驱动程序(0)(SQLDriverConnect)')”

这是我目前的数据库配置。我可能做错了事,但是很难找到资源,因为大多数Django + Sql Server结果要么使用FreeTDS要么使用Django-Pyodbc(都不是选项)。

'default': {
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'db_name_on_server',
    'USER': 'my_acct',
    'PASSWORD': 'nope',
    'HOST': 'x.x.x.x',
    'PORT': '1433',
    'OPTIONS': {  # Options are not edited
        'driver': 'SQL Server',  # What it displays as on odbc admin   
        'dsn': 'System DSN',  # What it displays as on odbc admin
        'use_legacy_datetime': False
    }
Run Code Online (Sandbox Code Playgroud)

django pyodbc django-pyodbc-azure

5
推荐指数
2
解决办法
8590
查看次数

Django 自定义身份验证后端似乎没有被调用?

我在 Python 3 上使用 Django 1.8.4,并尝试创建一个身份验证后端,该后端验证来自旧版 ColdFusion 网站的 cookie,并在检查数据库中的值后创建/登录 Django 用户。在设置中,我包括后端:

AUTHENTICATION_BACKENDS = (
    'site_classroom.cf_auth_backend.ColdFusionBackend',
)
Run Code Online (Sandbox Code Playgroud)

以及后端本身的代码;SiteCFUser 是一个针对 SQL Server 数据库用户模型的模型,其中包含活动 cookie 令牌值:

from django.contrib.auth.backends import ModelBackend
from django.contrib.auth import get_user_model
from users.models import SiteCFUser


class ColdFusionBackend(ModelBackend):
    """
    Authenticates and logs in a Django user if they have a valid ColdFusion created cookie.

    ColdFusion sets a cookie called "site_web_auth"
    Example cookie: authenticated@site+username+domain+8E375588B1AAA9A13BE03E401A02BC46
    We verify this cookie in the MS SQL database 'site', table site_users, column user_last_cookie_token
    """

    def authenticate(self, request): …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-authentication django-class-based-views

5
推荐指数
1
解决办法
2110
查看次数

无效的HTTP_HOST标头:'localhost:90,localhost:90'.根据RFC 1034/1035,提供的域名无效

我正在尝试与Gunicorn一起配置nginx用于Django项目.nginx给我以下错误:

DisallowedHost at /
Invalid HTTP_HOST header: 'localhost:90,localhost:90'. The domain name provided is not valid according to RFC 1034/1035.
Run Code Online (Sandbox Code Playgroud)

这是我的nginx配置

    server {

        listen 90;
        listen [::]:90;

        server_name xxxx;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
            root /home/user/djangopro/djangoapp;
        }

        location / {
            include proxy_params;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_buffering off;
            proxy_redirect off;

            proxy_pass http://localhost:8200/;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Gunicorn正在为该网站提供服务localhost:8200.谁能告诉我导致错误的原因是什么?

django nginx gunicorn

5
推荐指数
1
解决办法
1718
查看次数

Python - 无法打开 lib 'libtdsodbc.so':找不到文件

非常感谢对此问题的任何帮助。

目标:使用 FreeTDS 将 Django 连接到 MSSQL 服务器。我正在使用 Debian x64 盒子。

问题:尝试建立连接时,我得到以下信息。

('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)

/etc/odbcinst.ini的配置如下

[FreeTDS]
Description = FreeTDS
driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Run Code Online (Sandbox Code Playgroud)

这些文件确实存在并且有 777 次测试访问权限。

连接字符串就像

cnxn = pyodbc.connect(
        'DRIVER={FreeTDS};SERVER=' + server + ';PORT=1443;DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
    cursor = cnxn.cursor()
Run Code Online (Sandbox Code Playgroud)

我的 odbcinst -j 读取(因为添加了符号链接)

unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: …
Run Code Online (Sandbox Code Playgroud)

python sql linux pyodbc freetds

5
推荐指数
1
解决办法
6498
查看次数

SAS阵列声明

我正在阅读用于计算NBBOSAS代码,我遇到了以下代码:

array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:;
Run Code Online (Sandbox Code Playgroud)

我想知道声明array nexb nexb:;在这里做了什么?

sas wrds-compusat wrds

4
推荐指数
1
解决办法
79
查看次数

如何在虚拟环境中安装mod_wsgi

介绍

我有一个用 python 3 编写的 Web API,它使用 Flask。当我从终端运行 Web API 时,代码运行良好,并且它由代码中的以下行托管。

if __name__ == '__main__':
    app.run(host='', port=8010, debug='true')
Run Code Online (Sandbox Code Playgroud)

现在的情况

该代码运行完美,我想将其设置在 Apache 服务器上。然而,Apache 服务器已经有了使用 python 2 构建的网站,并且需要 mod_wsgi for python 2。

我查了一下是否有办法在 apache 服务器上同时设置 mod-wsgi,但根据以下来源,你不能 在一台 Apache 服务器上为 Python 2 和 Python 3 设置 mod_wsgi

尝试解决方案

我正在尝试将 mod-wsgi 安装到虚拟环境中。我从这里下载了软件包,并在激活后尝试将其安装到环境中。

sudo python setup.py install从终端运行,但收到​​以下错误

文件“setup.py”,第 139 行,位于“缺少 Apache httpd 服务器包”中。% APXS) 运行时错误:“apxs”命令似乎未安装或不可执行。请检查此软件包的文档中的先决条件列表,并安装任何缺少的 Apache httpd 服务器软件包。

所以我打开了压缩包中的自述文件,发现了以下内容

如果您希望使用安装在非标准位置的 Apache 版本,您可以在执行安装之前设置APXS环境变量并将其导出到 Apache 安装的 Apache 脚本的位置。apxs

请注意,此时不会将任何内容复制到您的 Apache 安装中。因此,您不需要以 root …

apache ubuntu mod-wsgi apxs2 python-3.x

2
推荐指数
1
解决办法
4578
查看次数

如何修复-没有这样的表:main.auth_user__old

有人可以详细解释如何修复ERROR: no such table: main.auth_user__old

当我尝试将数据添加到我的注册模型时,它会出现在我的 Django 应用程序中。

python django django-templates django-models django-views

2
推荐指数
1
解决办法
1万
查看次数

将 Django 连接到 Microsoft SQL 数据库

我想将我的 django 应用程序连接到 MS-SQL Server 2014 数据库。我写了这段代码来建立连接。

 DATABASES = {
'default': {
    'ENGINE': 'sql_server.pyodbc',
    'HOST':'DESKTOP-6UNRAN0',
    'PORT':'1433',
    'NAME': 'MOVIE',
    'COLLATION' : '',

  }
}
Run Code Online (Sandbox Code Playgroud)

我已经安装了 sql_server.pyodbc

 pip install django-pyodbc-azure
Run Code Online (Sandbox Code Playgroud)

如文档https://pypi.org/project/django-pyodbc-azure/ 中所述。我仍然收到错误

django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')

django django-pyodbc sql-server-2014 pypyodbc django-mssql-backend

2
推荐指数
1
解决办法
5118
查看次数

git:权限仅适用于执行位:可以不执行吗?

我在使用 git 设置文件权限时遇到问题。我想将存储库中的所有文件设置为 644。当我第一次clone存储存储库时,这些文件是不同权限的混合:

-rw------- 1 username group   2305 Oct 25 15:16 addquotes.sas
-rw------- 1 username group    675 Oct 25 15:16 ama_permission.sas
-rw------- 1 username group   1581 Oct 25 15:16 append_words.sas
-rwx------ 1 username group   3688 Oct 25 15:16 sasv9_u8.cfg
-rwx------ 1 username group   1489 Oct 25 15:16 backtest/bt_means.sas
-rwx------ 1 username group    490 Oct 25 15:16 backtest/correct_vname.sas
-rwx------ 1 username group    838 Oct 25 15:16 backtest/gen_random_samples.sas
Run Code Online (Sandbox Code Playgroud)

为了尝试解决这个问题,我运行了find . -type f | xargs chmod 644. 这会更改文件系统上的权限,但当我执行以下操作时,只有少数显示为已修改 …

git

0
推荐指数
1
解决办法
119
查看次数