当前位置:首页 > 行业动态 > 正文

如何在Linux系统上高效学习并应用Django框架?

本文是关于在 Linux 环境下部署 Django 项目的教程,涵盖从环境搭建到项目启动及常见问题解决等内容。

在 Linux 操作系统上搭建 Django 开发环境,可以按照以下步骤进行:

如何在Linux系统上高效学习并应用Django框架?  第1张

1、安装 Python:大多数 Linux 发行版都自带了 Python,可以通过终端输入python --version 或python3 --version 检查 Python 的版本,如果需要特定版本的 Python,可以从官方网站下载源码包进行编译安装。

2、安装 pip:pip 是 Python 的包管理工具,用于安装和管理 Python 包,对于 Python 3,可以使用以下命令安装 pip:

sudo apt-get install python3-pip(基于 Debian 或 Ubuntu 系统)

sudo yum install python3-pip(基于 CentOS 或 RHEL 系统)

3、创建虚拟环境:为了避免不同项目之间的依赖冲突,建议使用虚拟环境,进入你希望创建项目的目录,然后运行以下命令创建虚拟环境:

python3 -m venv myenv(创建一个名为 myenv 的虚拟环境)

激活虚拟环境:

对于 Windows 或 MacOS 系统:myenvScriptsactivate

对于 Linux 系统:source myenv/bin/activate

4、安装 Django:在激活虚拟环境后,使用 pip 安装 Django:

pip install django

5、创建 Django 项目:使用django-admin startproject 命令创建一个新的 Django 项目。

django-admin startproject myproject

这将创建一个名为 myproject 的项目目录,其中包含以下文件和子目录:

manage.py:Django 的命令行管理工具,用于执行各种管理任务,如运行服务器、创建应用、迁移数据库等。

myproject/:项目的主目录,包含以下文件:

__init__.py:Python 包的初始化文件,使其成为一个合法的 Python 包。

settings.py:项目的配置文件,包含数据库连接、静态文件路径、中间件、模板引擎等各种设置。

urls.py:项目的 URL 路由配置,定义了各个 URL 地址与视图函数的映射关系。

wsgi.py:WSGI 服务器的入口文件,用于将 Django 应用部署到支持 WSGI 的 Web 服务器上。

6、启动开发服务器:进入项目目录并运行以下命令启动开发服务器:

python manage.py runserver

默认情况下,开发服务器会在http://127.0.0.1:8000/ 地址上运行,你可以在浏览器中访问该地址查看 Django 的默认欢迎页面。

7、创建 Django 应用:使用python manage.py startapp 命令创建一个新的 Django 应用。

python manage.py startapp myapp

这将创建一个名为 myapp 的应用目录,其中包含以下文件和子目录:

migrations/:存储数据库迁移文件,用于跟踪数据库结构的变更。

__init__.py:Python 包的初始化文件。

admin.py:用于在 Django 管理后台中注册模型。

apps.py:配置应用的相关信息,如应用的名称、版本等。

models.py:定义应用的数据模型,即数据库表的结构。

tests.py:用于编写单元测试。

views.py:定义应用的视图函数,处理 HTTP 请求并返回相应的响应。

8、配置数据库:在settings.py 文件中配置数据库连接信息,Django 支持多种数据库引擎,如 SQLite、MySQL、PostgreSQL 等,以下是一些常见的配置示例:

SQLite(默认):无需额外安装数据库软件,适合开发和测试环境。

MySQL

安装 MySQL 数据库服务器,并确保其正常运行。

在settings.py 中添加以下配置:

       DATABASES = {
           'default': {
               'ENGINE': 'django.db.backends.mysql',
               'NAME': 'your_database_name',
               'USER': 'your_database_user',
               'PASSWORD': 'your_database_password',
               'HOST': 'localhost',
               'PORT': '3306',
           }
       }

PostgreSQL

安装 PostgreSQL 数据库服务器,并确保其正常运行。

在settings.py 中添加以下配置:

       DATABASES = {
           'default': {
               'ENGINE': 'django.db.backends.postgresql',
               'NAME': 'your_database_name',
               'USER': 'your_database_user',
               'PASSWORD': 'your_database_password',
               'HOST': 'localhost',
               'PORT': '5432',
           }
       }

9、创建超级用户:为了能够登录 Django 管理后台,需要创建一个超级用户,运行以下命令:

python manage.py createsuperuser

按照提示输入用户名、电子邮件地址和密码等信息。

10、运行迁移命令:在创建或修改数据库模型后,需要运行迁移命令来更新数据库结构,生成迁移文件:

python manage.py makemigrations

应用迁移文件到数据库:

python manage.py migrate

11、访问管理后台:在浏览器中访问http://127.0.0.1:8000/admin/,使用之前创建的超级用户账号登录,登录后,你可以对应用的模型数据进行管理,如添加、编辑、删除等操作。

12、编写视图和模板:在myapp/views.py 文件中编写视图函数,处理 HTTP 请求并返回相应的响应。

    from django.shortcuts import render
    from django.http import HttpResponse
    def index(request):
        return HttpResponse("Hello, world!")

在myapp/urls.py 文件中配置 URL 路由,将 URL 地址映射到视图函数:

    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.index, name='index'),
    ]

在项目的myproject/urls.py 文件中包含应用的 URL 路由:

    from django.contrib import admin
    from django.urls import include, path
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),
    ]

13、运行服务器并测试:重新启动开发服务器,然后在浏览器中访问http://127.0.0.1:8000/myapp/,你应该能够看到视图函数返回的响应内容。

FAQs

Q1:如何在不同的端口上运行 Django 开发服务器?

A1:可以在运行python manage.py runserver 命令时指定端口号,例如python manage.py runserver 8080,这样开发服务器就会在http://127.0.0.1:8080/ 地址上运行。

Q2:如何在 Django 中使用模板?

A2:在应用目录下创建一个templates 文件夹,然后在其中创建 HTML 模板文件,在myapp/templates/myapp/index.html 文件中编写 HTML 代码,在视图函数中,使用render 函数将模板渲染并返回给客户端。

from django.shortcuts import render
def index(request):
    return render(request, 'myapp/index.html')
0