Django是一个开放源代码的Web应用程序框架,可帮助您开发动态网站和应用程序。它是安全,快速和稳定的,可让您使用更少的代码来创建复杂的网站。有几种方法可以在系统上安装Django。您可以使用Debian存储库,PIP或从Git存储库安装它。您可以根据需要选择任何方法。Django允许您在Python虚拟环境中创建项目。这样,您可以在一个系统中创建多个Django环境。
在本教程中,我们将学习如何在Debian 10上使用PIP安装Django Web框架。我们还将学习如何创建Django应用程序并将其与数据库连接。
先决条件
- 运行Debian 10的服务器。
- 在您的服务器上配置了root密码。
入门
开始之前,请使用最新版本更新系统。您可以通过运行以下命令来做到这一点:
apt-get update -y
apt-get upgrade -y
系统更新后,请重新启动以应用更改。
安装Django
Django是用Python语言编写的。因此,您需要在系统上安装Python依赖项才能安装Django。您可以使用以下命令安装所有组件:
apt-get install python3 python3-pip tree -y
安装所有软件包之后,可以使用以下命令验证PIP的安装版本:
pip3 -V
您应该获得以下输出:
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
现在,您可以继续使用PIP命令安装Django,如下所示:
pip3 install Django
安装完成后,使用以下命令检查Django版本:
django-admin --version
您应该看到以下输出:
3.0.2
至此,Django已安装在您的服务器上。现在,您可以继续下一步。
创建一个Django项目
现在让我们开始创建一个示例Django项目。首先,将目录更改为要创建Django项目的目录/ opt:
cd /opt
接下来,运行以下命令以创建一个名为Dproject的新Django项目:
django-admin startproject Dproject
创建项目后,可以使用以下命令查看该项目的目录结构:
tree
您应该获得以下输出:
. ??? Dproject ??? Dproject ? ??? asgi.py ? ??? __init__.py ? ??? settings.py ? ??? urls.py ? ??? wsgi.py ??? manage.py
接下来,将目录更改为Dproject并使用以下命令迁移挂起的更改:
cd Dproject
python3 manage.py migrate
成功完成迁移后,您将看到以下输出:
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying sessions.0001_initial... OK
此时,已经在/ opt目录中创建了一个新的Django项目。
为Django创建超级用户
接下来,您将需要为Django创建一个超级用户来访问Django管理界面。您可以使用以下命令创建它:
python3 manage.py createsuperuser
提供所需的用户名,电子邮件地址和密码,如下所示:
Username (leave blank to use 'root'): admin Email address: admin@example.com Password: Password (again): Superuser created successfully.
启动Django服务器
默认情况下,无法从远程系统访问Django。因此,您将需要配置Django并定义服务器IP。您可以通过编辑文件settings.py来实现。
nano /opt/Dproject/Dproject/settings.py
更改以下行:
ALLOWED_HOSTS = ['your-server-ip']
完成后保存并关闭文件。接下来,使用以下命令启动Django服务器:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
成功启动服务器后,应该获得以下输出:
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). January 07, 2020 - 13:01:23 Django version 3.0.2, using settings 'Dproject.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
访问Django应用程序
此时,Django应用程序已启动并正在侦听端口8000。要访问它,请打开Web浏览器并输入URL http:// your-server-ip:8000。您应该在以下屏幕中看到Django应用程序:
要访问Django Admin界面,请打开Web浏览器,然后输入URL http:// your-server-ip:8000 / admin。您将被重定向到Django登录页面:
提供您的Django管理员用户名,密码,然后单击“ 登录 ”按钮。您应该在以下屏幕中看到Django Admin界面:
安装MariaDB数据库连接器
接下来,您将需要安装MariaDB数据库连接器和其他开发包,以便将Django与MariaDB数据库连接。您可以使用以下命令安装所有组件:
apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y
一旦安装了所有软件包,就可以使用PIP命令安装mysqlclient库,如下所示:
pip3 install mysqlclient
安装完成后,使用以下命令登录MariaDB shell:
mysql
接下来,使用以下命令为MariaDB设置root密码。
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
接下来,使用以下命令为Django创建数据库:
MariaDB [(none)]> create database testdb;
您可以使用以下命令查看上面创建的数据库:
MariaDB [(none)]> show databases;
您应该获得以下输出:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
接下来,刷新特权并使用以下命令从MariaDB shell退出:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
配置Django进行MariaDB连接
接下来,您将需要在Django中定义MariaDB数据库凭据。您可以通过编辑文件settings.py来定义它:
nano /opt/Dproject/Dproject/settings.py
找到以下几行:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
并用以下几行替换它们:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf', }, } }
完成后保存并关闭文件。然后,编辑MariaDB客户端凭据文件,如下所示:
nano /etc/mysql/mariadb.conf.d/50-client.cnf
定义您的MariaDB数据库凭据,如下所示:
[client] database = testdb user = root password = newpassword default-character-set = utf8
保存并关闭文件,然后重新启动MariaDB服务以实施更改:
systemctl restart mariadb
接下来,将目录更改为Django项目,并使用以下命令迁移新更改:
cd /opt/Dproject
python3 manage.py migrate
成功完成迁移后,您可以继续执行下一步。
测试MariaDB连接
至此,Django已配置为连接MariaDB数据库。现在该进行测试了。
为此,请使用以下命令启动Django服务器:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
成功启动Django服务器后,您将获得以下输出:
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). January 07, 2020 - 13:30:49 Django version 3.0.2, using settings 'Dproject.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
您现在可以使用URL http:// your-server-ip:8000访问Django应用程序。您应该在以下屏幕上看到Django应用程序:
测试后,您可以通过在终端中按CTRL + C来停止任何类型的Django服务器。
结论
恭喜你!您已经成功安装了Django并将其与Debian 10服务器上的MariaDB数据库连接。
原文地址:https://www.howtoforge.com/how-to-install-and-configure-django-on-debian-10/