技术教程 · 2020年2月14日 1

如何在Debian 10上安装Django Web应用程序框架

Django是一个开放源代码的Web应用程序框架,可帮助您开发动态网站和应用程序。它是安全,快速和稳定的,可让您使用更少的代码来创建复杂的网站。有几种方法可以在系统上安装Django。您可以使用Debian存储库,PIP或从Git存储库安装它。您可以根据需要选择任何方法。Django允许您在Py​​thon虚拟环境中创建项目。这样,您可以在一个系统中创建多个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框架

要访问Django Admin界面,请打开Web浏览器,然后输入URL http:// your-server-ip:8000 / admin。您将被重定向到Django登录页面:

Django登录

提供您的Django管理员用户名,密码,然后单击“ 登录 按钮。您应该在以下屏幕中看到Django Admin界面:

Django管理控制台

安装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应用程序:

Django应用

测试后,您可以通过在终端中按CTRL + C来停止任何类型的Django服务器。

结论

恭喜你!您已经成功安装了Django并将其与Debian 10服务器上的MariaDB数据库连接。

原文地址:https://www.howtoforge.com/how-to-install-and-configure-django-on-debian-10/