一篇文章带你自学python Django

一篇文章带你自学Python Django

Django 简介

Python Django 是一种基于 Python 的 Web 框架,它使用了设计模式中的 MVC 架构,采用了 DRY(Don't Repeat Yourself)的编码风格,可以快速构建出优雅的、可扩展的网站,被广泛运用于互联网开发领域。

准备工作

在学习 Django 之前,需要掌握以下基础知识:

  • Python 的基础语法
  • HTML、CSS 和 JavaScript 的基础知识
  • 数据库的基本概念和 SQL 语句的使用

如果你没有相关的基础知识,可以先学习一下这些课程:

安装 Django

在掌握了基础知识之后,我们可以开始安装 Django。

首先,我们需要安装 Python。可以到 Python 官网 上下载最新版本的 Python,然后按照提示进行安装。

安装好 Python 之后,我们可以使用 pip 工具来安装 Django。打开命令行工具,输入以下命令:

pip install Django

等待安装完成后,输入以下命令来确认 Django 是否安装成功:

python -m django --version

如果输出了当前安装的 Django 版本号,说明安装成功。

创建 Django 项目

安装好 Django 之后,我们可以开始创建自己的 Django 项目了。打开命令行工具,执行以下命令:

django-admin startproject mysite

这个命令会在当前目录下创建一个名为 mysite 的 Django 项目。在 mysite 目录下,可以看到以下文件和目录:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

其中,manage.py 是一个命令行工具,可以让我们轻松管理 Django 项目的各项操作,比如创建一个应用,启动服务器等操作。

mysite/settings.py 是 Django 项目的配置文件,其中包含了数据库的设置、静态文件的设置等。

mysite/urls.py 则是项目的 URL 配置文件,规定了不同 URL 的路径和视图函数的对应关系。

创建 Django 应用

创建完 Django 项目之后,我们需要创建一个或多个应用。在 Django 中,应用(App)是指一个具有独立功能的模块,比如博客、图片库等。

我们可以使用以下命令来创建一个名为 blog 的应用:

python manage.py startapp blog

执行完这个命令之后,我们就可以在 mysite 目录下看到一个名为 blog 的目录,其中包含了应用的各项设置。我们需要在这个目录下编写代码,来实现应用的功能。

编写 Django 视图

在 Django 中,视图(View)是处理用户请求并生成响应的函数。在视图函数中,我们可以从数据库中读取数据,渲染模板,最终将结果呈现给用户。

下面是一个简单的视图函数的代码示例,它会返回一个 HTML 页面:

from django.http import HttpResponse

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

这个视图函数接受一个 request 参数,表示用户请求的信息。视图函数必须返回一个 HttpResponse 对象,表示返回给用户的内容。

我们需要将这个视图函数添加到 blog/views.py 文件中,然后配置 URL 才能使用。假设我们希望将这个视图函数关联到 URL /blog/ 上,可以在 blog/urls.py 文件中添加以下代码:

from django.urls import path
from . import views

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

上面的代码首先导入了 pathviews 模块,然后使用 path 函数将 URL /blog/ 和视图函数 index 进行关联。其中,name 参数是关联 URL 的名称,可以用来在模板中生成 URL。

最后,我们需要修改 mysite/urls.py 文件,将 /blog/ 路径和 blog 应用进行关联。可以使用以下代码来实现:

from django.urls import include, path

urlpatterns = [
    path('blog/', include('blog.urls')),
]

在以上代码中,include 函数表示将包含 blog 应用的 URL 包含在 Django 项目的全局 URL 中。

运行 Django 服务器

编写完 Django 代码之后,我们需要启动服务器来运行项目。可以使用以下命令启动服务器:

python manage.py runserver

运行成功后,就可以在浏览器中访问 http://localhost:8000/blog/ 地址,看到我们刚刚编写的视图函数返回的内容了。

示例说明1

假设我们希望将一张图片上传到服务器,并在网页上显示出来,需要进行以下步骤:

  1. blog/models.py 文件中,定义一个名为 Image 的模型,并添加 image 属性表示图片文件:

```python
from django.db import models

class Image(models.Model):
image = models.ImageField(upload_to='images/')
```

  1. blog/forms.py 文件中,定义一个名为 ImageForm 的表单类:

```python
from django import forms
from .models import Image

class ImageForm(forms.ModelForm):
class Meta:
model = Image
fields = ['image']
```

  1. blog/views.py 文件中,创建一个名为 upload_image 的视图函数,用于处理图片上传请求:

```python
from django.shortcuts import render, redirect
from .forms import ImageForm

def upload_image(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('index')
else:
form = ImageForm()
return render(request, 'upload_image.html', {'form': form})
```

  1. blog/templates/ 目录下,新建一个名为 upload_image.html 的模板文件,用于渲染上传页面:

```html

{% csrf_token %}
{{ form.as_p }}

```

  1. blog/urls.py 中新增一个 URL,用于将 /blog/upload_image/ 路径关联到 upload_image 视图函数:

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

  1. 最后,在 index.html 中添加一个上传链接,用于跳转到上传页面:

html
<a href="{% url 'upload_image' %}">上传图片</a>

示例说明2

假设我们需要在博客主页上展示最新发布的 10 篇文章,需要进行以下步骤:

  1. blog/models.py 文件中,定义一个名为 Article 的模型,表示文章:

```python
from django.db import models

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

  1. blog/views.py 文件中,创建一个名为 index 的视图函数,用于处理博客主页的请求:

```python
from django.shortcuts import render
from .models import Article

def index(request):
articles = Article.objects.order_by('-pub_date')[:10]
return render(request, 'index.html', {'articles': articles})
```

  1. blog/templates/ 目录下,新建一个名为 article_list.html 的模板文件,用于展示文章列表:

html
{% for article in articles %}
<h2>{{ article.title }}</h2>
<p>{{ article.content }}</p>
{% endfor %}

  1. blog/templates/ 目录下,修改 index.html 模板文件,用于渲染博客主页:

```html
{% extends 'base.html' %}

{% block content %}

Welcome to my blog!

{% include 'article_list.html' with articles=articles %}
{% endblock %}
```

  1. 最后,在 mysite/settings.py 文件中,修改 TEMPLATES 中的 DIRS 配置,使 Django 能够找到模板文件:

python
'DIRS': [BASE_DIR / 'templates'],

总结

本文介绍了如何使用 Django 构建 Web 应用程序,包括安装 Django、创建 Django 项目、创建 Django 应用、编写 Django 视图、运行 Django 服务器等。

通过以上示例说明,我们进一步了解了如何在 Django 中实现图片上传和文章展示等功能。希望本文能对您学习 Django 有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章带你自学python Django - Python技术站

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

相关文章

  • Django-ORM之ManyToManyField的使用-多对多关系

    表结构设计 多对多关系表创建外键,典型例子:书–作者–出版社,书与作者的关系就可以看作是多对多关系。 # 表结构设计 class Book(models.Model): title = models.CharField(max_length=32) pub = models.ForeignKey(‘Publisher’, on_delete=models…

    2023年4月10日
    00
  • django中资源文件夹的引入及配置方法

    Sure!以下是详细讲解django中资源文件夹的引入及配置方法的完整攻略: 1. 关于Django资源文件夹 Django的资源文件夹主要包括static和media两个文件夹,它们分别用于存储静态文件和媒体文件。这些文件可以被引用到项目的模板和视图中,用于呈现图像、CSS样式、JavaScript文件等。在编写Django应用程序时,我们需要了解它们的引…

    Django 2023年5月16日
    00
  • django中model下都有哪些方法

    通过名称检索模型的单个字段实例 _meta.get_field()返回给定一个字段名称的字段实例,如果没有找到具体给定的字段,将会引发一个FieldDoesNotExist 异常 from django.contrib.auth.models import User >>>User._meta.get_field(‘username’) &…

    Django 2023年4月13日
    00
  • Django 连接Mysql异常处理

    启动manage.py提示 连接数据库异常 django.db.utils.OperationalError: (2003, “Can’t connect to MySQL server on ‘127.0.0.1’ ([Errno 10061] )”)   此时cmd.exe  输入mysql指令同样有异常提示: C:\Windows\system32&g…

    Django 2023年4月11日
    00
  • Django下JWT的使用

    前言   JWT 是 json web token 的缩写, token的作用你应该已经了解,用于识别用户身份避免每次请求都需要验证     用来解决前后端分离时的用户身份验证   在传统的web项目中 我们会在form表单中设置隐藏字段来提交token信息   但是在前后端分离时,我们就无法像网页一样直接放在表单里,   需要前后端的配合才能完成token…

    Django 2023年4月13日
    00
  • Python Django搭建网站流程图解

    下面是详细的Python Django搭建网站流程图解攻略,包含两条示例说明。 1. 安装Python和Django 安装Python:从Python官网下载相应的版本进行安装,安装完毕后,打开终端或命令行窗口,输入python命令,能够输出版本号,即表示Python安装成功。 安装Django:在终端或命令行窗口中输入以下命令进行安装: pip insta…

    Django 2023年5月16日
    00
  • [django]form不清空问题解决

    https://www.cnblogs.com/OldJack/p/7118396.html 有时候提交表单后,发现某个字段写错了,但是form的其他字段竟然被清空,这个万万不能接受.所有django的form后端生成form的html,渲染到前端可以解决1.前端写form的html2.django的form生成前端form所需的html forms.htm…

    Django 2023年4月10日
    00
  • python+django+selenium搭建简易自动化测试

    我来详细讲解Python + Django + Selenium 搭建简易自动化测试的完整攻略。本攻略包含以下几个部分:环境搭建、安装必要库、配置Django、使用Selenium编写自动化测试脚本。 环境搭建 在开始搭建之前,需要确保你的电脑上安装了Python环境。可以通过终端命令python –version来检查是否安装。如果尚未安装,请到Pyth…

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