我通常在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) 我在 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
我正在尝试与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.谁能告诉我导致错误的原因是什么?
非常感谢对此问题的任何帮助。
目标:使用 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) array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:;
Run Code Online (Sandbox Code Playgroud)
我想知道声明array nexb nexb:;在这里做了什么?
我有一个用 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 …
有人可以详细解释如何修复ERROR: no such table: main.auth_user__old
当我尝试将数据添加到我的注册模型时,它会出现在我的 Django 应用程序中。
我想将我的 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
我在使用 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. 这会更改文件系统上的权限,但当我执行以下操作时,只有少数显示为已修改 …