匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python Django Web开发实战:从入门到上线

Python Django Web开发实战:从入门到上线

Django是一个高效且易于上手的Web开发框架。它内置了很多强大的功能,例如路由系统、模板引擎、ORM等。同时它还有很多第三方模块和插件可以使用,使得Web应用的开发变得更加快捷方便。

在这篇文章中,我们将会学习如何使用Django进行Web开发,从入门到上线。

准备工作

首先我们需要安装Python环境和Django。建议使用Python3,因为Python2已经不再被官方维护。

安装Python环境:

在官网下载Python3,安装即可。

安装Django:

使用pip命令安装Django:

pip install Django

创建Django项目

在命令行中输入以下命令,创建一个新的Django项目:

django-admin startproject myproject

其中myproject为项目名称,可以自定义。

创建Django应用

在命令行中进入myproject目录,输入以下命令,创建一个新的Django应用:

python manage.py startapp myapp

其中myapp为应用名,可以自定义。

配置Django应用

打开myproject/settings.py文件,修改以下内容:

- 将myapp添加到INSTALLED_APPS列表中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

- 设置数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

这里我们使用了SQLite数据库,当然你也可以使用其他数据库,例如MySQL。

创建模型

模型是Django中的一个重要概念,它是ORM的核心。在Django中,我们可以通过定义模型类来创建数据库表。在myapp/models.py文件中定义模型类如下:

from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

这里我们定义了一个Blog模型类,它包含了三个字段:标题、内容和发布时间。其中,pub_date字段使用了auto_now_add选项,表示在创建对象时自动将该字段设置为当前时间。

创建数据库表

在命令行中输入以下命令,创建数据库表:

python manage.py makemigrations
python manage.py migrate

这样就可以将模型类映射到数据库表中了。

创建管理员用户

在命令行中输入以下命令,创建管理员用户:

python manage.py createsuperuser

按照提示输入用户名、电子邮件地址和密码,即可创建管理员用户。

创建视图

视图是Django中的另一个重要概念,它决定了Web应用程序如何响应请求。在myapp/views.py文件中定义视图函数如下:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Blog

def index(request):
    blogs = Blog.objects.all()
    return render(request, 'index.html', {'blogs': blogs})

这里我们定义了一个index视图,它将所有的Blog对象查询出来,并渲染到模板中。

创建模板

模板是Django中用于显示HTML页面的组件。在myapp/templates目录中创建index.html文件,编写HTML页面如下:

{% for blog in blogs %}
    

{{ blog.title }}

{{ blog.content }}

{{ blog.pub_date }}

{% endfor %} 这里我们使用了Django模板语言来动态地生成HTML页面。 配置URL URL是Django中用于路由请求的组件。在myproject/urls.py文件中配置URL如下: from django.contrib import admin from django.urls import path from myapp import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index), ] 这里我们将根URL映射到了index视图。 运行Django应用 在命令行中输入以下命令,启动Django应用: python manage.py runserver 然后在浏览器中访问http://127.0.0.1:8000/即可看到我们编写的页面了。 部署Django应用 在开发完成后,我们需要将Django应用部署到生产环境中。这里我们使用Nginx和uWSGI来部署Django应用。 安装Nginx和uWSGI: sudo apt-get install nginx pip install uwsgi 配置Nginx: 在/etc/nginx/sites-available目录下创建myproject文件,写入以下内容: server { listen 80; server_name example.com; location / { include uwsgi_params; uwsgi_pass unix:/tmp/myproject.sock; } } 这里我们将服务器名设置为example.com,同时将请求转发到uWSGI服务器上。 配置uWSGI: 在myproject目录下创建uwsgi.ini文件,写入以下内容: [uwsgi] http-timeout = 3600 socket = /tmp/myproject.sock chmod-socket = 666 chdir = /path/to/myproject module = myproject.wsgi:application master = true processes = 4 threads = 2 这里我们将socket设置为/tmp/myproject.sock,同时开启了4个进程和2个线程来处理请求。 启动uWSGI: 在命令行中输入以下命令,启动uWSGI服务器: uwsgi --ini uwsgi.ini 重启Nginx: 在命令行中输入以下命令,重启Nginx服务器: sudo service nginx restart 现在我们的Django应用已经成功部署到生产环境中了! 总结 在这篇文章中,我们学习了如何使用Django进行Web开发,从创建项目到部署应用。Django内置了很多功能和组件,使得Web应用的开发变得更加快捷方便。希望本文能对刚开始学习Django的同学有所帮助。