首页>>后端>>Python->django怎么引入第三方包(2023年最新分享)

django怎么引入第三方包(2023年最新分享)

时间:2023-12-14 本站 点击:0

导读:很多朋友问到关于django怎么引入第三方包的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

Django django-allauth 实现第三方授权登陆平台(百度和github为例)

 在浏览器中输入 查看

 页面比较简陋,可以在 allauth/templates 目录中进行修改,测试的话就比较随意啦。在登陆页面中,可以直接使用帐号密码进行登陆,帐号密码需要注册,点击 Sign Up 进行注册

 这里有个问题需要注意一下,在填写完表单之后点击注册按钮,会返回一个 ConnectionRefusedError 的错误页面,allauth 在注册用户时,会给用户填写的邮箱发送一封激活邮件,而这里并没有配置好邮箱系统,所以发送失败。需要进行一下配置

 django 默认发送邮件的后端是 smtp

 之后注册成功就会在填写的邮箱中收到一封激活邮件(找不到可以在垃圾箱中看一下),点击连接可以激活帐号,也可以在配置的邮箱帐号中查看已发送的邮箱。

 注册成功之后会自动登陆该帐号,登陆成功 django 会将页面跳转到 ,返回的是一个 Page not found 的页面,因为这个视图还没有编写。怎么解决?方法有两个,第一自己动手编写这个视图,第二,更改 django 登陆成功后重定向的 url。

 django 默认重定向的 url 是 /accounts/profile/,setting.py中可以修改

 再次登陆 就会跳转到 /accounts/inactive/ 页面

 在 中新建一个 OAuth Apps

 这里要注意一下 Authorization callback URL 的填写,必须是 /accounts/github/login/callback/ 结尾,前面则和 Homepage URL 一样,创建成功之后会得到一个 Client ID 和一个 Client Secret (基于 OAuth 协议),通过这连个值,可以获得授权。

 allauth 支持多种第三方账户登陆,只需要在 settings.py 中的 INSTALLED_APPS 注册需要哦应用就可以了

  更多应用可以查看文档

 创建超级用户之后进入

 点击 Sites 将 exampple.com 修改为

 直接打开登陆页面 如果超级用户账户还在登陆的话,会跳转到之前设置的 /accounts/inactive/ 页面,直接点击 Sign Out 注销登陆,再次打开登陆页面

 点击 Github,因为之前在 Github 网站上创建 OAuth apps 时已经登陆了账户,所以会自动授权登陆,不然就会要求输入账户密码

或者

 百度登陆和 Github 差不多,也是需要在 百度开发者中心 创建一个应用获取两个 key

 这里还要填写好授权回调页

 和之前 Github 一样,但是注意 Provider 一项要选择 Baidu

esmp;增加 Social applications 之后就可以在登陆页面找到 Baidu 的登陆按钮

 新浪微博和腾讯QQ需要用到身份证审核,恰好最近身份证过期拿去更换,申请不了,只能下次在完成

如何在django中使用第三方库

.多个数据库联用时数据导入导出

使用的时候和一个数据库的区别是:

如果不是defalut(默认数据库)要在命令后边加 --database=数据库对应的settings.py中的名称 如: --database=db1 或 --database=db2

数据库同步(创建表)

python manage.py syncdb #同步默认的数据库,和原来的没有区别

#同步数据库 db1 (注意:不是数据库名是db1,是settings.py中的那个db1,不过你可以使这两个名称相同,容易使用)

python manage.py syncdb --database=db1

数据导出

python manage.py dumpdata app1 --database=db1 app1_fixture.json

python manage.py dumpdata app2 --database=db2 app2_fixture.json

python manage.py dumpdata auth auth_fixture.json

数据库导入

python manage.py loaddata app1_fixture.json --database=db1

python manage.py loaddata app2_fixture.json --database=db2

python 怎么使用第三方库

这是关于Python的第13篇文章,也是关于《编程小白的第1本Python入门书》内容的最后一篇,主要介绍下如何使用第三方库。

1. 第三方库

Python相当于一个手机,第三方库相当于手机里各种各样的APP。

当我们想搭建网站时,可以选择功能全面的Django、轻量的Flask等web框架;当我们想做一个爬虫时,可以使用Scrapy框架;当我们想做数据分析时,可以选择Pandas数据框架等,这些都是一些很成熟的第三方库。

那么,如何根据自己的需求找到相应的库呢?

可以在 这个网站上按照分类去查找需要的库。

2. 安装第三方库

这里主要介绍如何在PyCharm中安装第三方库。

1)打开PyCharm——顶部菜单File——选择Default Settings;

2)搜索project interpreter,选择当前Python环境,然后底部点击“+”号添加库;

3)搜索数据库名称——选中该库后点击底部的Install Package,在安装成功后会出现成功提示,此时可以返回到之前的Project Interpreter中查看自己安装的库,点击“-”号可以卸载掉不需要的库。

3. 使用第三方库

使用第三方库时,只要在在PyCharm中输入库之后就可以使用了。输入库用import,比如输入requests库为:import requests。

第一阶段关于Python的基础知识大致先到这里,第二阶段的分享会以Python爬虫为主。

django app 打包

1、首先,在你的django 项目目录外为你的app(fileapp)创建一个文件夹,将其命名为 django-fileupload

2、将fileapp 文件夹迁移到django-fileupload 目录下

3、创建 django-fileupload/README.rst 文件,输入以下相关内容

4、创建LICENSE文件,路径 django-fileupload/LICENSE, 输入license,如果没有,去github上自动生成一个

5、接着,创建一个django-fileupload/setup.py 文件,用于提供关于怎样创建和安装这个app的一些细节,内容如下:

6、默认只有python模块和包会包含在包里,如果要包含额外的文件,我们需要创建一个MANIFEST.in 文件,内容如下

7、以下建议再包含一些关于你的app的细节。创建一个空的文件夹,命名为docs ,然后在django-fileapp/MANIFEST.in 文件加上一行

注意:这个docs目录不会包含在包里,除非你添加一些文件进去

8、最后执行打包操作,执行 python setup.py sdist (需要在django-fileapp 文件夹里执行),django-fileapp/ 应该新增了一个叫dist的文件夹,里面就会生成一个包——django-fileapp-0.1.tar.gz

9、安装

不出意外的话,你的app应该能正常执行

10、卸载

11、查看安装后的app信息,如安装路径

如何在Django中使用第三方库

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.

'NAME': 'demo.db', # Or path to database file if using sqlite3.

# The following settings are not used with sqlite3:

'USER': '',

'PASSWORD': '',

'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.

'PORT': '', # Set to empty string for default.

}

}

INSTALLED_APPS = (

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.staticfiles',

# Uncomment the next line to enable the admin:

# 'django.contrib.admin',

# Uncomment the next line to enable admin documentation:

# 'django.contrib.admindocs',

'south',

'LearnSouth',

'books',

)

如何开发合格的 Python/Django 第三方 Package

合格的Python/Django第三方package, 以下是一个为发布新的Python/Django package准备的Checklist.

1. 目的

你的package应当能做一件事情, 并且能把它做得很好. package名字应当具有描述性. package仓库的根目录应当以"django-"开头(如果是Django的package的话), 方便其他用户查找.

如果该package的部分功能需要借助其他Python package完成, 那么应当将其他package加入到依赖信息中.

2. 范围

你的package功能范围应该专注于一个小的任务(就像UNIX的原则一样), 这意味着该package的逻辑紧凑, 用户也更容易修改或取代这一package.

3. 文档

没有文档的package只能说是测试package, Docstring无法代替说明文档.

我们可以借助ReStructuredText和Sphinx这样优秀的工具撰写文档. 这些文档应到放在 上, 并使用webhooks来随时更新.

package的依赖, 安装说明,都应当纳入文档中.

4. 测试

你的package应当包含测试代码. 测试代码能提高可靠性, 更能方便其他贡献者提交代码. 如果有必要, 应当将如何运行测试纳入文档中. 如果你和你的贡献者们能在提交pull request运行测试, 那必定会带来更高质量的代码.

5. 维护

你的package应当定期维护更新. 每次更新代码库中的代码时, 如果有必要, 不要忘了上传到Python Package Index中.

6. 社区

良好的package一般都会得到社区的贡献者帮助提交的代码和补丁, 所有贡献者的名单应当列在CONTRIBUTORS或AUTHORS文档中.

尽力管理由你领导的package产生的社区. 如果你的代码被fork了, 应当尽力给与关注, 试着将部分内容merge到你的package中. 如果该fork与原来的package功能上已有分化, 则应提醒该fork开发人员重新命名该fork.

7. 模块化

你的package应当能简单的被应用到任何Django项目中(针对Django package), 并且不会代替其他核心部件(templates, ORM等). 尽量减少对其他package的影响.

8. PyPI

对于 major 和 minor release, 应该将其放置到PyPI, 方便其他开发人员下载获得源代码. 对各release使用适当的版本号.

9. 依赖

package中所依赖的其他package应当使用宽松版本号写入requirements中, 而不是用绝对版本号:

# requirements

# 不使用 Django==1.5.2, 而是用

Django=1.5,=1.2.3,

10. 版本号

对于Python/Django package, 可以参考PEP 386对package进行版本编号, 形式如A.B.C:

A代表着major release, B代表minor relsean, C代表bugfix release.

11. 名字

package的名字至关重要. 恰当的命名使得package容易被发现.

12. 使用协议 License

每个package都应当有合适的License, 对于没有特殊的package可以使用BSD或MIT license, 这两个license允许大多数商用和非商用. 将License的内容拷贝黏贴到LICENSE文档中.

13. 代码

你的package中的代码应当清晰易懂, 不要使用奇怪的python语法.

14. URL Namespaces

对于Django package, 为了避免与其他package的url设置重提, 可以使用的URL namespaces.

结语:以上就是首席CTO笔记为大家整理的关于django怎么引入第三方包的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/33591.html