Python的Django框架使用入门指引

yizhihongxing

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日

相关文章

  • django python manage.py runserver 流程

    这是自己的学习笔记,水平有限,很多地方没有仔细看,慎重阅读 启动 django demo 去 GitHub 的 Django 项目中下载 django-1.0.tar.gz,这是早期的版本,易于理解核心逻辑,并包含一个示例。 解压 django-1.0.tar.gz,目录 django 就是源代码,examples 是一个简单地 web 示例。 启动示例需要…

    Django 2023年4月10日
    00
  • 使用pycharm创建Django项目,’django-admin’ 不是内部或外部命令

      报错信息如下:              (笔者的电脑为win10,python3.7,django 2.2.6 )      第一种情况的解决方案:没有配置环境变量,Django安装之后,需要配置环境变量,命令django-admin.pystartproject projectname才会生效,环境变量的内容就是django-admin.py文件的安…

    Django 2023年4月12日
    00
  • django error: django.db.utils.IntegrityError: NOT NULL constraint failed

      用了一段时间的 python 的 django 框架,在修改 sqlite 数据库的时候遇到如下错误:django.db.utils.IntegrityError: NOT NULL constraint failed: new__ImageRecognition_answercx.user_id 其中 ImageRecognition 是 app 的名…

    Django 2023年4月13日
    00
  • 简单聊一下Uwsgi和Django的爱恨情仇

    项目目录:/root/app Uwsgi的配置文件 [uwsgi] # Python扩展包安装的地方 pythonpath=/usr/local/src/python3/lib/python3.5/site-packages # Django根目录 chdir=/root/app # wsgi.py跟根目录的相对路径 wsgi-file=app/wsgi.p…

    Django 2023年4月10日
    00
  • Django异步任务线程池实现原理

    下面我将为您详细讲解“Django异步任务线程池实现原理”的完整攻略。 什么是Django异步任务线程池 Django异步任务线程池是Django中异步处理任务的一种方式。它利用线程池的机制来实现高效处理异步任务,避免由于大量任务的顺序执行而导致的延迟问题。当我们需要在Django应用中编写异步任务时,Django提供了多种异步任务处理方式,其中Django…

    Django 2023年5月15日
    00
  • django数据库动态添加列

      方法一:  python manage.py migrate       方法二:  python manage.py migrate         效果: —〉  

    Django 2023年4月12日
    00
  • Pycharm 操作Django Model的简单运用方法

    下面是详细的“Pycharm 操作Django Model的简单运用方法”的攻略: 1. 安装和配置Pycharm 首先要确保你已经安装了Pycharm,并且成功配置了Django开发环境。如果没有安装和配置,可以参考以下两篇文章进行安装和配置: 如何安装Pycharm? 如何在Pycharm中配置Django环境? 2. 创建Django应用程序 在Pyc…

    Django 2023年5月16日
    00
  • 深入理解Django的信号机制

    这里是关于深入理解Django的信号机制的完整攻略。 什么是信号机制? Django信号机制是一种事件驱动的编程模式,在Django应用程序中经常使用。其核心思想是,当某个特定事件发生时,你可以告诉Django执行某个函数或方法。 Django信号机制提供了一种解耦、灵活的方式,让你通过触发信号,而不必修改应用程序的核心代码来添加或修改功能。 Django中…

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