Python 和 Django 在WIN8下连接数据库

Python 和 Django 在WIN8下连接数据库,第1张

settingpy:都要配置下

USER, PASSWORD, HOST

MySQL插件 :MySQL-python version 121p2 or higher

ENGINE :djangodbbackendsmysql

NAME:你的数据库名字

PostgreSQL插件:postgresql_psycopg2  地址>

ENGINE :djangodbbackendspostgresql_psycopg2

NAME:你的数据库名字

例如我的oracle配置:

使用环境:

python 27

django 13

python-ldap-243

django-auth-ldap-1012

settingspy:

import ldap

from django_auth_ldapconfig import LDAPSearch,PosixGroupType

AUTH_LDAP_SERVER_URI = 'ldap://:389' #服务器URI

AUTH_LDAP_BIND_DN = "cn=admin,dc=qfei,dc=com"

AUTH_LDAP_BIND_PASSWORD = "123456"

AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=staff,dc=qfei,dc=com", #查询用户

ldapSCOPE_SUBTREE, "(uid=%(user)s)")

AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=staff,dc=qfei,dc=com", #查找组

ldapSCOPE_SUBTREE, "(objectClass=posixGroup)"

)

AUTH_LDAP_GROUP_TYPE = PosixGroupType(name_attr="cn")

AUTH_LDAP_USER_FLAGS_BY_GROUP = {

"is_staff": "cn=tech,ou=Tech,ou=Staff,dc=qfei,dc=com",

"is_active": "cn=tech,ou=Tech,ou=Staff,dc=qfei,dc=com",

"is_superuser": "cn=tech,ou=Tech,ou=Staff,dc=qfei,dc=com", #验证 Django 的 User 的is_staff,is_active,is_superuser

}

AUTH_LDAP_USER_ATTR_MAP = { #把LDAP中用户条目的属性 映射到 Django 的User

"username":"uid",

"password":"userPassword",

"first_name": "givenName",

"last_name": "sn",

"email":"mail",

}

AUTH_LDAP_MIRROR_GROUPS=True #注意 此为重点:当这个值为 True, LDAP的用户条目映射并创建 Django User 的时候,会自动映创建Group

AUTH_LDAP_ALWAYS_UPDATE_USER = True #是否每次都从LDAP 把用户信息 更新到 Django 的User

AUTH_LDAP_FIND_GROUP_PERMS = True #如果为True, LDAPBackend将提供基于LDAP组身份验证的用户属于的组的权限

AUTH_LDAP_CACHE_GROUPS = True #如果为True,LDAP组成员将使用Django的缓存框架

AUTH_LDAP_GROUP_CACHE_TIMEOUT = 1800 #缓存时长

AUTHENTICATION_BACKENDS=( #设置使用 LDAPBackend

"django_auth_ldapbackendLDAPBackend",

"djangocontribauthbackendsModelBackend",

)

注:

1,需要创建 django 的 User Group 表

2,当LDAP条目 同步至 django User,Group 后,同关系型数据库一样 *** 作 数据即可

不足:暂时 未实现 django 表 至LDAP 的数据双向同步

安装软件

安装 Python 27、PyCharm、pip(Python包管理工具)、Django ( pip install Django)

部署

PyCharm 新建Django工程

完成后,其目录如下:

子目录MyDjangoProject下表示工程的全局配置,分别为setttingspy、urlspy和wsgipy,其中setttingspy包括了系统的数据库配置、应用配置和其他配置,urlspy则

表示web工程Url映射的配置。

子目录student则是在该工程下创建的app,包含了modelspy、testspy和viewspy等文件

templates目录则为模板文件的目录

managepy是Django提供的一个管理工具,可以同步数据库等等

启动

创建完成后,就可以正常启动了。点击Run 按钮,启动时报错了:

Traceback (most recent call last):

File "D:/workspace/MyDjangoProject/managepy", line 10, in <module>

execute_from_command_line(sysargv)

File "D:\Python27\lib\site-packages\django\core\management\__init__py", line 338, in execute_from_command_line

utilityexecute()

File "D:\Python27\lib\site-packages\django\core\management\__init__py", line 312, in execute

djangosetup()

File "D:\Python27\lib\site-packages\django\__init__py", line 18, in setup

appspopulate(settingsINSTALLED_APPS)

File "D:\Python27\lib\site-packages\django\apps\registrypy", line 89, in populate

"duplicates: %s" % app_configlabel)

djangocoreexceptionsImproperlyConfigured: Application labels aren't unique, duplicates: admin

应该是admin配置冲突了,打开setttingspy文件,发现admin配置重复了

INSTALLED_APPS = (

'djangocontribadmin',

'djangocontribauth',

'djangocontribcontenttypes',

'djangocontribsessions',

'djangocontribmessages',

'djangocontribstaticfiles',

'djangocontribadmin',

'student',

)

注释掉其中一行后(为什么会有这个问题,估计是个bug),重新启动,ok

web工程添加页面

此时,我们尚没有写一行代码,程序就duang跑起来了! 快添加一个Hello World的页面吧。

打开student/viewspy文件,输入以下内容

def sayHello(request):

s = 'Hello World!'

current_time = datetimedatetimenow()

html = '<html><head></head><body><h1> %s </h1><p> %s </p></body></html>' % (s, current_time)

return >

# 如果你说用的是pycharm编译器的话:

使用 ctrl+alt+r 进入 manage界面

然后输入 makemigrations [appname] 创建数据库引导文件

然后使用 migrate [appname] 来把model变化同步到数据库

# [appname] 指你当前model所在的app,如果不指定appname ;则编译全部app

# 如果不是pycharm编译器的话,请再追问

错误代码 1045

Access denied for user 'root'@'localhost'

(using password:YES)

如果你的mysql也出现以上这种提示,

建议你逐个字看完我这篇文章再按以下方法来尝试解决问题

这是mysql数据库很多时候出现的问题, 网上流传很多解决办法 有人按照那些方法, 还真可以把问题解决了; 但也有很多人按那些方法解决不了问题!

而这个中原因, 就是没有对症下药!!!

网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药

出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法! 对于不懂得什么叫做"停止/重启mysql服务"的人来说,

这个最简单的办法就是把服务器主机进行重新启动(就是把你的电脑进行重新启动)

以上是方法A! (这个方法适合任何版本的mysql)

以下是方法B:(方法仅适用于MySQL4026 版本!!! (我估计,

40的其他版本应该也可以的))

网上也有说, 就是对root进行重改密码 对于网上流传的改密码方法, 也是可行的 请参考以下:

DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改

格式:mysqladmin -u用户名 -p旧密码 password

新密码

例:给root加个密码ideacmblog

首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令

mysqladmin

-uroot password ideacmblog

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

D:\php\MySQL\bin>mysqladmin -uroot password

ideacmblog回车后ROOT密码就设置为ideacmblog了

但是, 请注意了, 以上方法仅适用于MySQL4026

版本!!! (我估计, 40的其他版本应该也可以的)

方法C:

好了, 扯了那么多, 以上的两个方法都不是我本人测试过的, 本人不对真实性负责!

而现在我说一下本人亲自试过的方法, 以供参考:

话说今天, 我的服务器所有php及使用了mysql数据库的网站, 均挂掉了! 无法打开,

并有以下提示:

错误代码 1045

Access denied for

user 'root'@'localhost' (using password:YES)

一开始我也是不断搜索google(我本人不喜欢百度!),

去找寻解决的办法 看了很多, 也参照执行了, 事实上也是解决不了问题 后来我想到了是版本的问题, 不同的mysql版本,

解决办法是不一定一样的!!记住

我的mysql版本是: 5022

(mysql-essential-5022-win32)

今天一整天, 那些php网站均罢工 到今晚才有时间上去服务器继续寻找方法, 但仍然解决不了

最后, 我决定把mysql卸掉重新安装!

卸载很快, 而且不需要重新启动计算机

于是, 继续进行安装

第一步:

打开这个mysql-essential-5022-win32exe文件;

第二步: 见到窗口d出, 并点击 Next>

进入下一步;

第三步: 选择 Custom 项, 并点击

Next> 进入下一步;

第四步: 到这一步要注意了, 点击

Change 选择你原安装mysql的目录; 选择后, 继续点击Next> 进入下一步;

第五步: 点击 Install

进行安装

安装至下一步, 会提示你进行注册, 选择最后一项, 即跳过注册,

进入下一步正式完成安装

安装完成后, 继续d出一个窗口, 提示你是不是立刻进行配置,

选择 Next

选择Standard Configuration继续点击

Next 进入下一步

这一步里, 把上面那行的勾去掉, 只在 Include

PATH 那行打勾, 继续点击 Next 进入下一步

在这一步, 点击中间的"Ex"那顶,

接着配置完毕!

这时候, 你去看看你的mysql正常了没有

!!

这样就ok了!!!

从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。

Django: Python Web应用开发框架

Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

Diesel:基于Greenlet的事件I/O框架

Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。

Flask:一个用Python编写的轻量级Web应用框架

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2

模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数

据库、窗体验证工具。

Cubes:轻量级Python OLAP框架

Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。

Kartographpy:创造矢量地图的轻量级Python框架

Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartographpy目前仍处于beta阶段,你可以在virtualenv环境下来测试。

Pulsar:Python的事件驱动并发框架

Pulsar是一个事件驱动的并发框架,有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。

Web2py:全栈式Web框架

Web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。

Falcon:构建云API和网络应用后端的高性能Python框架

Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。

Dpark:Python版的Spark

DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。

Buildbot:基于Python的持续集成测试框架

Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。

Zerorpc:基于ZeroMQ的高性能分布式RPC框架

Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。

Bottle: 微型Python Web框架

Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

Tornado:异步非阻塞IO的Python Web框架

Tornado的全称是Torado Web Server,从名字上看就可知道它可以用作Web服务器,但同时它也是一个Python Web的开发框架。最初是在FriendFeed公司的网站上使用,FaceBook收购了之后便开源了出来。

webpy: 轻量级的Python Web框架

webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。

Scrapy:Python的爬虫框架

Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

以上就是关于Python 和 Django 在WIN8下连接数据库全部的内容,包括:Python 和 Django 在WIN8下连接数据库、有大拿在Django中用过LDAP来管理用户吗、如何使用pycharm配合部署python的django框架等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9869239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存