Python的Django框架使用入门指引

Python的Django框架使用入门指引

什么是Django

Django是一个高级Web应用框架,使用Python编写。它帮助开发人员轻松地构建和维护复杂的Web应用程序。Django相对于其他Web框架的优势在于它的可扩展性,开发速度快和安全性高。

Django的安装

要安装Django,您需要安装Python。在安装Python之后,可以在命令行中使用以下命令安装Django:

pip install django

Django的创建

要创建Django应用程序,请首先创建一个项目。在命令行中使用以下命令:

django-admin startproject mysite

这将创建一个名为“mysite”的新项目。该项目包括一个具有相应名称(mysite)的包和一组文件。

接下来,进入该目录并运行以下命令以创建Django应用程序:

cd mysite
python manage.py startapp myapp

这将创建一个名为“myapp”的新应用程序并在新的“myapp”子目录中放置它。

Django的配置

要将Django配置为运行Web服务器,请遵循以下步骤:

打开“mysite”目录中的“settings.py”文件。

找到“INSTALLED_APPS”并添加以下行:

INSTALLED_APPS = [
    ...
    'myapp',
    ...
]

将以下行添加到文件的末尾:

STATIC_URL = '/static/'

保存并关闭文件。

Django的路由

在Django中,URL路由是将URL映射到视图函数的过程。要为我们的应用程序创建路由,请执行以下操作:

打开“myapp”目录中的“urls.py”文件。

将以下文本添加到文件中:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('about/', views.about, name='about'),
]

其中“home”和“about”是路由名称,在这里,我们只为根路由和“about”路由指定了视图函数。

Django的视图

视图是我们创建的函数,它们将处理到达我们应用程序的请求并返回响应。要创建Django视图,请执行以下操作:

打开“myapp”目录中的“views.py”文件。

在该文件中,我们可以创建要为特定路由执行的函数。在这里,我们将为根路由和“about”路由创建两个视图函数:

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

def home(request):
    return HttpResponse('Welcome to my homepage!')

def about(request):
    return HttpResponse('About me!')

Django的模板

要在Django应用程序中使用模板,请按以下步骤操作:

在“myapp”目录中创建一个名为“templates”的新目录。

创建一个名为“home.html”的新文件并将以下内容添加到该文件中:

<!DOCTYPE html>
<html>
    <head>
        <title>Home Page</title>
    </head>
    <body>
        <h1>Welcome to my homepage!</h1>
    </body>
</html>

创建一个名为“about.html”的新文件并将以下内容添加到该文件中:

<!DOCTYPE html>
<html>
    <head>
        <title>About Me</title>
    </head>
    <body>
        <h1>About me!</h1>
    </body>
</html>

Django的运行

要在本地主机上运行Django应用程序,请按照以下步骤操作:

使用以下命令启动Web服务器(确保您正在“manage.py”文件所在的目录中):

python manage.py runserver

在Web浏览器中打开“http://127.0.0.1:8000/”以访问根路由。

在Web浏览器中打开“http://127.0.0.1:8000/about/”以访问“about”路由。

示例1:Django Web应用程序

下面是一个简单的Django Web应用程序的示例。该应用程序包括以下内容:

在主页上,用户可以输入一个用户名并按下“提交”按钮。用户输入的用户名将被保存在数据库中。

在“User List”页面上,将显示所有先前提交的用户名的列表。

步骤1:创建一个新的Django应用程序

请使用以下命令创建新应用。

python manage.py startapp user_app

步骤2:创建Django模型

在“user_app”目录中,创建一个名为“models.py”的新文件。

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)

在这个例子中,我们将创建一个名为“User”的模型。该模型包含一个名为“name”的CharField。

步骤3:创建Django视图

在“user_app”目录中的“views.py”文件中,添加以下内容:

from django.shortcuts import render, redirect
from .models import User

def home(request):
    if request.method == 'POST':
        name = request.POST.get('name')
        user = User(name=name)
        user.save()
        return redirect('/user_list/')
    return render(request, 'home.html')

def user_list(request):
    users = User.objects.all()
    return render(request, 'user_list.html', {'users': users})

在这个例子中,我们为主页和“User List”页创建了两个视图:home()user_list()

步骤4:创建Django模板

在“user_app”目录中的“templates”目录中,创建以下两个文件。

home.html

<!DOCTYPE html>
<html>
    <head>
        <title>Home Page</title>
    </head>
    <body>
        <form method="POST">
            {% csrf_token %}
            <label for="name">Name:</label>
            <input type="text" id="name" name="name">
            <input type="submit" value="Submit">
        </form>
    </body>
</html>

user_list.html

<!DOCTYPE html>
<html>
    <head>
        <title>User List</title>
    </head>
    <body>
        <h1>User List</h1>
        {% for user in users %}
            <li>{{ user.name }}</li>
        {% endfor %}
    </body>
</html>

步骤5:配置Django路由

在“user_app”目录中的“urls.py”文件中,添加以下内容:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('user_list/', views.user_list, name='user_list'),
]

步骤6:运行Django应用程序

运行以下命令以在本地主机上启动Web服务器:

python manage.py runserver

在Web浏览器中输入“http://127.0.0.1:8000/”以访问主页并输入用户名。然后单击“提交”按钮。

在Web浏览器中输入“http://127.0.0.1:8000/user_list/”以访问“User List”页面,将显示以前提交的所有用户名。

示例2:RESTful API服务器

在Django中,可以通过创建RESTful API来提供数据服务。下面是一个将提供以下API的Django应用程序的示例。

步骤1:创建API视图

在“user_app”目录中的“views.py”文件中创建以下API视图:

from django.http import JsonResponse
from .models import User

def user_list(request):
    users = User.objects.all()
    user_list = []
    for user in users:
        user_list.append({'id': user.id, 'name': user.name})
    return JsonResponse({'users': user_list})

def user_detail(request, user_id):
    user = User.objects.get(id=user_id)
    user_dict = {'id': user.id, 'name': user.name}
    return JsonResponse(user_dict)

在这个例子中,我们创建了两个API视图:user_list()user_detail()user_list()返回所有用户的列表,而user_detail()返回一个特定用户的详细信息。

步骤2:配置API路由

在“user_app”目录中的“urls.py”文件中创建以下API路由:

from django.urls import path
from . import views

urlpatterns = [
    path('api/user_list/', views.user_list),
    path('api/user_detail/<int:user_id>/', views.user_detail),
]

步骤3:启动Django应用程序

与示例1一样,启动以下命令以运行Web服务器:

python manage.py runserver

在Web浏览器中输入“http://127.0.0.1:8000/api/user_list/”以获取所有用户的列表。要获取特定用户的详细信息,请输入“http://127.0.0.1:8000/api/user_detail/{user_id}/”,其中“{user_id}”是您要获取的用户的ID。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的Django框架使用入门指引 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 【Python web 开发】django rest framwork 的token 登录和原理

      背景: 有些接口比如提交订单,获取用户列表是要用到用户信息的,是要用户登录后才能进行的 用户登录在前后端分离系统中与我们之前基于模板template进行开发是有区别的 思考一个问题:为什么我们的django  rest framwork 会有登录和退出功能呢? 因为,这里有配置哦 这里有 login 和loginout,里面的 login 调用了logi…

    Django 2023年4月12日
    00
  • django orm 批量存储数据

    项目中 需要大量数据的保存操作,每条执行save操作效率太低,在官网上找到bull_create 的批量存储方式,效率提高很多   Insert in bulk When creating objects, where possible, use the bulk_create() method to reduce the number of SQL que…

    Django 2023年4月11日
    00
  • 详解Django中的权限和组以及消息

    下面我将为你详细讲解“详解Django中的权限和组以及消息”的完整攻略,包含两条示例说明。 概述 在Django框架中,权限和组是非常重要的概念。权限是指用户可以执行的操作,组是指将多个权限分类和管理的机制。Django还提供了一个消息框架,用于在Web应用程序中向用户发送消息。本文将详细介绍Django中的权限、组和消息,包括它们的用法和示例操作。 权限 …

    Django 2023年5月16日
    00
  • django中操作mysql数据库的方法

    操作mysql数据库是Web开发中的核心内容之一,而Django是一个Web开发框架,提供了方便快捷的方式操作各种类型的数据库。本文将详细介绍如何在Django中操作MySQL数据库,同时提供两个示例说明。 准备工作 首先需要安装Django和PyMySQL两个库,可以使用pip来安装: pip install django pip install pymy…

    Django 2023年5月16日
    00
  • Django实现单用户登录的方法示例

    下面是“Django实现单用户登录的方法示例”的完整攻略: 简述 简单单一用户系统是网络应用程序中的常见需求。为了降低开发成本和提高开发效率,一般采用现成的框架和工具进行开发。Django是一款开发Web应用程序的高级Python框架,提供了一系列功能齐备的组件,支持单一用户系统的快速开发。本文将介绍Django实现单用户登录的方法示例。 示例一:基于Dja…

    Django 2023年5月16日
    00
  • Django Auth装饰器验证用户身份与权限

    Django Auth装饰器是一种基于装饰器的身份验证和授权工具,它可以帮助你快速而简便地限制用户的访问权限。在本文中,我们将深入了解Django Auth装饰器,并提供详细的代码示例,以便帮助你更好地理解它们的实现。 Django Auth装饰器的基本用法 Django Auth装饰器有多种用途,但最常用的就是验证用户身份。下面就是它的最基本用法: fro…

    Django 2023年3月13日
    00
  • djando 项目用django自己服务器在局域网中被访问设置

    这是一个相当操蛋的东西,害老子搞了那么久,其实嘞,也用不着那么恨,都是自己做的孽!! —————–人工分割线—————————————————————   上边是项目目录结构。   1.进 settinf.py 文件进行设置 ALLOWED_HOSTS …

    2023年4月9日
    00
  • Django Form表单完整使用流程

    Django Form表单提供了一种把一系列HTML元素和逻辑操作封装为Python对象的方式,用于从用户那里收集数据的任务。 它是Django Web框架的一部分,并且是Web开发中最重要的组件之一。本文将提供完整的Django Form表单的使用流程,包括Form类的创建、表单页面的渲染、数据的验证和处理、以及数据的保存。 以下是Django Form表…

    Django 2023年3月12日
    00
合作推广
合作推广
分享本页
返回顶部