Python 中Django安装和使用教程详解

首先,Django是Python语言中一款非常流行的Web框架,提供了一套完备的解决方案,包括快速开发和丰富的功能扩展。

要安装和使用Django,可以遵循以下步骤:

  1. 安装Python

Django是基于Python开发的,因此必须先安装Python。可以从Python官方网站下载适合自己操作系统的安装包,并根据安装向导完成Python的安装。

  1. 安装Django

在Python环境下打开命令行,输入以下命令:

pip install Django

该命令会自动下载并安装最新版本的Django框架。

  1. 创建Django项目

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

django-admin startproject myproject

该命令会在当前目录下创建一个名为myproject的Django项目。

  1. 运行Django项目

在命令行中进入myproject目录,输入以下命令启动Django项目:

python manage.py runserver

该命令会启动一个本地服务器,可以通过在浏览器中输入http://localhost:8000/访问Django项目的首页。

接下来,我将通过两条示例说明Django的使用。

  1. 示例一:创建一个简单的网页

在Django项目中,每个网页都对应一个视图函数,该函数负责渲染对应的HTML模板,并返回给浏览器。

首先,我们需要创建一个网页对应的视图函数。在myproject目录下的views.py文件中,添加以下代码:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world!")

该视图函数接受一个request参数,表示浏览器发来的请求,返回一个HttpResponse对象,该对象包含要渲染的HTML内容。

接下来,我们需要创建一个网页对应的URL,并把该URL指向上述视图函数。在myproject目录下的urls.py文件中,添加以下代码:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

该代码定义了一个URL,当浏览器请求根路径时(即http://localhost:8000/),将会调用views.py文件中的index函数。

最后,我们需要创建一个HTML模板,用于渲染网页内容。在myproject目录下创建一个名为templates的目录,在该目录下创建一个名为index.html的HTML文件,添加以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Hello, world!</title>
</head>
<body>
    <h1>Hello, world!</h1>
</body>
</html>

该HTML模板定义了一个标题为Hello, world!的页面,当浏览器访问根路径时,Django将会渲染该模板,并返回给浏览器。

  1. 示例二:创建一个包含表单提交的网页

在Django中,可以通过表单提交来实现用户交互操作。首先,我们需要创建一个包含表单的HTML页面。在templates目录下创建一个名为contact.html的HTML文件,添加以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Contact form</title>
</head>
<body>
    <h1>Contact us</h1>
    <form method="post">
        {% csrf_token %}
        <label for="name">Your name:</label>
        <input type="text" id="name" name="name"><br><br>
        <label for="email">Your email:</label>
        <input type="email" id="email" name="email"><br><br>
        <label for="message">Message:</label>
        <textarea id="message" name="message"></textarea><br><br>
        <input type="submit" value="Send">
    </form>
</body>
</html>

该HTML页面包含一个表单,包括姓名、邮箱和留言内容等字段,用户可以在其中填写并提交。

接下来,我们需要定义一个表单视图函数。在views.py文件中添加以下代码:

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.urls import reverse

def contact(request):
    if request.method == 'POST':
        # 处理表单提交
        name = request.POST['name']
        email = request.POST['email']
        message = request.POST['message']
        # TODO: 发送邮件
        # 重定向到感谢页面
        return HttpResponseRedirect(reverse('thanks'))
    else:
        # 显示表单页面
        return render(request, 'contact.html')

该视图函数包含两种情况:当用户提交表单时,会从request.POST中获取提交的数据,并发送邮件;当用户首次访问页面时,会渲染表单页面返回给浏览器。

最后,我们需要定义一个URL,在urls.py文件中添加以下代码:

urlpatterns = [
    path('', views.index, name='index'),
    path('contact/', views.contact, name='contact'),
    path('thanks/', views.thanks, name='thanks'),
]

该代码定义了三个URL:根路径将会调用index函数,/contact路径将会调用contact函数,/thanks路径将会调用thanks函数。

至此,我们已经完成了一个包含表单提交的Django网页。当用户访问http://localhost:8000/contact/路径时,将会看到一个表单页面,填写并提交表单后,将会被重定向到一个感谢页面,表示数据已经成功提交。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 中Django安装和使用教程详解 - Python技术站

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

相关文章

  • django自定义标签错误 ‘my_tag’ is not a registered tag library.

    解决办法: 在settings里的 加上红色的部分,my_tag为自定义的标签函数 后面的为其地址  TEMPLATES = [ { ‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’, ‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)] , ‘AP…

    Django 2023年4月11日
    00
  • terminal 报错:ImportError: Couldn’t import Django.

    1.问题   今天学习django,测试当前项目时遇到了莫名其妙的报错:    python manage.py runserver:ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH environment var…

    Django 2023年4月15日
    00
  • Django框架(十九)–Django rest_framework-认证组件

    一、什么是认证 只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件 二、利用token记录认证过的用户 1、什么是token token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上…

    Django 2023年4月16日
    00
  • django 使用django-cors-headers 解决跨域问题

    django-cors-headers ”’ 浏览器具有 “同源策略的限制”,导致 `发送ajax请求` + `跨域` 存在无法获取数据。 – 简单请求,发送一次请求。 – 复杂请求,先options请求做预检,然后再发送真正请求 ”’ 1、使用pip安装 pip install django-cors-headers 2、添加到setting的app中…

    Django 2023年4月12日
    00
  • 浅谈Python之Django(三)

    首先需要阐述的是,“浅谈Python之Django(三)”是一篇介绍Django框架的文章,偏重于对Django的基础概念和应用的讲解。这篇文章主要分为以下几个部分: 1. Django介绍 这部分主要是对Django框架进行简单介绍,涵盖了Django的功能特点、适用场景、优势和缺点等信息。 2. Django入门 这部分主要是讲解如何在本地环境下搭建Dj…

    Django 2023年5月16日
    00
  • django框架之drf:3、API执行流程、Response源码剖析、序列化器的简介和使用、反序列化的校验

    Django框架之drf 目录 Django框架之drf 一、APIView执行流程 1、API执行流程总结(重点) 2、补充 二、Response源码剖析 1、Response类总结(重点) 三、序列化器的介绍和使用 1、序列化 2、反序列化 五、反序列化的校验 一、APIView执行流程 基于APIView+JsonResponse接口 通常在使用dja…

    Django 2023年4月10日
    00
  • 解决django报错:ValueError(“The view Hello.views.login didn’t return an HttpResponse object. It returned None instead.”)

    产生原因:定义的视图函数login,没有返回HttpResponse对象。它返回None。所有导致访问报错 解决:我在访问页面的时候把请求方式搞错了,本来是先获取页面,然后再提交数据。我这里变成直接提交数据了。 改成get,先获取界面在post提交数据: 附带一个启动django服务的脚本: import os def run_server(work_dir…

    Django 2023年4月12日
    00
  • django model content_type 使用

    一.关于content_type 使用 1.引入模块在models from django.db import models from django.contrib.contenttypes.models import ContentType #使用ContentType from django.contrib.contenttypes.fields imp…

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