gpt4 book ai didi

python独立脚本应用Django项目的环境

转载 作者:我是一只小鸟 更新时间:2023-08-24 22:33:31 30 4
gpt4 key购买 nike

1、需求说明

  一直用 Django 在开发一个网站项目,其中的注册用户和登录,都是使用Django自带的认证系统。主要是对密码的加密,在注册或者登录的时候,前端传递多来的密码,我会使用Django的set_password()方法在加密一次 。

  经过加密后的数据库中的数据样子如下:

  现在我有另外一个需求,需要单独写一个脚本,独立于这个Django项目,要实现的功能,就是在通过我单独写的python3,让用户通过这个脚本可以快读的创建Django项目中的用户。其实需求很简单,就是通过python脚本,往Django数据库中写入数据而已,但是有一个困难点,就是密码要借用Django中的环境,不是说自己按照django的加密规则,自己加密就行了,因为这个加密的过程中,使用到Django项目中settings中的加盐参数,所以必须还要获取Django项目的运行环境.

  。

2、源码解释

  为什么我使用的set_password(), 加密之后就必须要获取原来Django项目的环境呢?我们看一下源码就明白了了 。

   在set_password()函数内部有调用了make_password()函数,我们继续看源码 。

   因为在注册的时候的密码有加盐,登录的时候,需要同样的加盐规则,所以这里我在注册账号和密码的时候,需要使用Django项目中的这个环境 。

  。

3、独立脚本引用Django环境

  1、import django 。

  2、import os 。

  3、将项目路径添加到系统路径下 。

                          
                            #
                          
                          
                             将项目目录添加到系统路径下
                          
                          
sys.path.append(
                          
                            '
                          
                          
                            /home/root/projects/mcloud/src/backend
                          
                          
                            '
                          
                          )
                        

  说明:我的项目路径就是:/home/root/projects/mcloud/src/backend,各位替换成自己的路径即可 。

  4、将Django项目中的settings文件添加到环境变量中 。

                          os.environ[
                          
                            '
                          
                          
                            DJANGO_SETTINGS_MODULE
                          
                          
                            '
                          
                          ] = 
                          
                            "
                          
                          
                            mcloud.settings
                          
                          
                            "
                          
                        

  5、django 启动 。

                          django.setup()
                        

  。

4、案例

  1、导入需要的django模块 。

                          
                            from
                          
                           django.contrib.auth 
                          
                            import
                          
                          
                             authenticate

                          
                          
                            from
                          
                           django.contrib.auth.hashers 
                          
                            import
                          
                           make_password
                        

  2、使用Django 环境创建我需要的密码 。

                           password = make_password(input_password)
                        

  3、在使用这个密码就可以写入数据库,正常登录了.

  。

5、抛转引玉

  我这里只是一个python脚本使用Django环境的案例,万变不离其宗,主要就是 。

  1、将Django项目路径加入到系统环境,方便脚本找到项目的路径 。

  2、将Django项目中的settings文件添加到环境变量中 。

  3、django.setup() 。

  。

  。

最后此篇关于python独立脚本应用Django项目的环境的文章就讲到这里了,如果你想了解更多关于python独立脚本应用Django项目的环境的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com