欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux(Ubuntu)环境下Django2的环境配置及注意事项

程序员文章站 2022-07-14 20:46:39
...

一、建立目录问题

建议在集成开发环境下新建目录,注意不是文件! 

在Pycharm环境下新建 一个Python Package (推荐)

二、建立虚拟环境

 方法一(不推荐):假设新建的Package名字叫:'xiangmu',则在该目录下运行终端:

xiangmu$ python -m venv xm_env  # 运行了venv模板来创建一个名为xm_env的虚拟环境

 方法二(推荐):如果系统没有正确的设置,不能使用venv,则在终端运行如下命令安装virtualenv包

方法一:

$ pip install --user virtualenv  # pip安装virtualenv

方法二
$ sudo apt-get install python-virtualenv # Ubuntu系统安装virtualenv

(重要)再终端切换到目录‘xiangmu ’,执行如下命令 

xiangmu$ virtualenv xm_env --python=python3  # 一定要指明是python3 不然默认为python2

三、基本命令

1.**虚拟环境并安装Django

xiangmu$ source xm_env/bin/activate  # **虚拟环境

#执行结果如下
(xm_env)xiangmu$

(xm_env)xiangmu$ deactivate  # 停止使用虚拟环境

(xm_env)xiangmu$ pip install Django # pip安装Django

2.在Django中创建项目 

(xm_env)xiangmu$ django-admin.py startproject xiangmu . # 最后句点一定要不要漏了 
(xm_env)xiangmu$ ls   # 新建一个manage.py文件  
xiangmu xm_env manage.py
(xm_env)xiangmu$ ls xiangmu
__init__.py settings.py urls.py wsgi.py  # wsgi是Web服务器网管接口的首字母缩写

3.创建数据库以及迁移数据库 

 

#首次执行migrate, Django确保数据库与项目当前状态匹配,并新建一个数据库(SQLlite首次执行)
(xm_env)xiangmu$ python manage.py migrate  
 --snip--
(xm_env)xiangmu$ ls
db.sqlite3 xiangmu xm_env manage.py    # SQLli是一种使用单个文件的数据库,适合简单应用程序


#迁移数据库

(xm_env)xiangmu$ python manage.py makemigrations app_name

4.启动的服务器 

(xm_env)xiangmu$ python manage.py runserver

Performing system check...

--snip--

Quit the server with CONTROL-C.    # 表示服务器启动成功

 url查看:http://127.0.0.1:8000/

 5.创建应用程序

 

(xm_env)xiangmu$ python manage.py startapp app_name  # 创建一个基础设施 app_name 为app的名字
(xm_env)xiangmu$ ls  # 新增一个app_name文件夹
db.sqlite3 xiangmu app_name xm_env manage.py
(xm_env)ls app_name/
admin.py __init__.py migrations models.py tests.py views.py  # 几个主要的模板

6.超级用户的创建 

(xm_env)xiangmu$ python manage.py createsuperuser

Username (leave blank to use 'ehmatthes'):   # 用户名
Email address:             # 可不填    
Password:                  # 通行证
Password(again):           # 再次输入通行证

Superuser created successful.  # 代表创建成功

 小知识:Django并不存储你输入的密码, 而存储从该密码派生出来的一个字符串——散列值。每当你输入密码时, Django都计算其散列值, 并将结果与存储的散列值进行比较。 如果两个散列值相同, 就通过了身份验证,通过存储散列值, 即便黑客获得了网站数据库的访问权, 也只能获取其中存储的散列值, 而无法获得密码。在网站配置正确的情况下, 几乎无法根据散列值推导出原始密码。