教你用Python3+mysql8.0搭建Django框架

yizhihongxing

好的。下面是“教你用Python3+mysql8.0搭建Django框架”的完整攻略。

一、准备工作

安装Python3

安装Python3可以到官网下载安装包进行安装,或者利用包管理器进行安装。例如,在Ubuntu下可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install python3

安装MySQL8.0

安装MySQL8.0可以到官网下载安装包进行安装,或者利用包管理器进行安装。例如,在Ubuntu下可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install mysql-server

安装Django

可以使用Python的包管理器pip来进行安装。例如,在命令行中执行以下命令即可安装Django:

pip install Django

二、搭建Django框架

创建Django项目

在命令行中执行以下命令来创建Django项目:

django-admin startproject mysite

这个命令会在当前目录下创建一个名为mysite的目录,该目录中包含了Django项目的基本框架。

创建Django应用

在mysite目录中执行以下命令来创建Django应用:

python manage.py startapp blog

这个命令会在mysite目录下创建一个名为blog的目录,该目录包含了Django应用的基本框架。

配置Django应用

在mysite目录下,打开settings.py文件,配置Django应用的数据库连接:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '',
    }
}

在这里,我们使用MySQL作为Django应用的数据库,'NAME'、'USER'、'PASSWORD'分别代表了数据库名称、数据库用户名和密码。

创建数据库

在MySQL中创建数据库(mydatabase)和用户(mydatabaseuser)并授权:

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mydatabaseuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'mydatabaseuser'@'localhost';
FLUSH PRIVILEGES;

编辑模型

在blog目录下新建一个models.py文件,编辑模型,添加一条博客记录的数据:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_time = models.DateTimeField(auto_now_add=True)
    modified_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

进行数据迁移

在mysite目录下执行以下命令,进行数据迁移:

python manage.py makemigrations
python manage.py migrate

这个命令会把创建的模型同步到数据库中。

编写视图和模板

在blog目录下新建views.py文件,编写博客视图:

from django.shortcuts import render
from .models import Post

def post_list(request):
    post_list = Post.objects.all()
    context = {'post_list': post_list}
    return render(request, 'blog/post_list.html', context)

在blog目录下新建templates目录,在templates目录下新建blog目录,在blog目录下新建一个名为post_list.html的模板文件,编辑模板,显示博客记录内容:

{% if post_list %}
<ul>
{% for post in post_list %}
<li>
    <h2><a href="#">{{ post.title }}</a></h2>
    <article>
    {{ post.content }}
    </article>
</li>
{% endfor %}
</ul>
{% else %}
<p>No posts are available yet.</p>
{% endif %}

配置URL路由

在blog目录下新建一个urls.py文件,配置URL路由信息:

from django.urls import path
from . import views

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

在mysite目录下的urls.py文件中,把blog应用的URL路由加入到mysite应用的路由中:

from django.urls import path, include

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

三、运行Django应用

在mysite目录下执行以下命令,启动Django应用:

python manage.py runserver

这个命令会在本地启动一个web服务器,可以在浏览器中通过http://127.0.0.1:8000/访问到Django应用的首页,即博客记录列表。

示例一:

在博客中新建一个记录:

在浏览器中访问http://127.0.0.1:8000/,点击“新建记录”按钮,在新页面中输入博客标题和内容,点击“提交”按钮,保存博客记录。

示例二:

在博客中编辑一个记录:

在浏览器中访问http://127.0.0.1:8000/,找到需要编辑的博客记录,点击博客标题,进入博客记录详情页面,在页面底部找到“编辑”按钮,点击该按钮,在新页面中修改博客标题和内容,点击“提交”按钮,保存博客记录的修改。

至此,Python3+mysql8.0搭建Django框架的完整攻略就讲解完了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用Python3+mysql8.0搭建Django框架 - Python技术站

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

相关文章

  • django中实现websocket

        随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。  我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进…

    Django 2023年4月10日
    00
  • Django admin美化插件suit使用示例

    下面为您详细讲解“Django admin美化插件suit使用示例”的完整攻略。该攻略包含两条示例说明。 美化Django Admin的插件suits Django Admin是Django默认自带的后台管理系统,功能强大,但是界面不够美观。为了让Django Admin变得更加优美,我们可以使用插件suits进行美化。 安装suits 我们可以通过pip安…

    Django 2023年5月16日
    00
  • 在Python的Django框架上部署ORM库的教程

    当我们选择使用Django框架进行web应用开发时,我们通常会使用ORM库来进行数据库交互,以便于我们使用Python语言轻松地进行数据库查询、插入、更新和删除等操作。 在本教程中,我们将详细讲解如何在Python的Django框架上部署ORM库的步骤,以及两个示例说明。 安装所需软件 首先,我们需要安装Python和Django框架。可以通过以下命令进行安…

    Django 2023年5月16日
    00
  • 第四篇Django之模板语言

    一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_datetime(request): now = datetime.datetime.now() html = “<html><body>It is now %s.…

    Django 2023年4月16日
    00
  • Django + Axios & Ajax post和get 传参

    话说千遍淡如水,不如代码来一通。   Axios post: let params = new URLSearchParams(); params.append(‘id’,xx) axios({ url:’http://127.0.0.1:8000/userctrl/shoucang’, method:’post’, data:params, respons…

    Django 2023年4月13日
    00
  • Django 自动生成api接口文档教程

    下面我将详细讲解“Django 自动生成api接口文档教程”的完整攻略,包括以下主要内容: 安装和配置Django-rest-swagger 编写接口文档注释 在项目中使用Django-rest-swagger生成接口文档 1. 安装和配置Django-rest-swagger 首先,我们需要通过pip安装Django-rest-swagger。在Djang…

    Django 2023年5月16日
    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聚合查询、分组查询、F与Q查询

    表查询 基于django settings源码实现自己的项目 配置文件的可插拔式设计 dir() importlib 反射 ​ 单表查询 只要是queryset对象 就可以无限制的点击queryset对象的方法 13条 1.all() # 查所有 2.filter() # 根据条件过滤 多个条件之间是and关系 3.get() # 直接获取数据对象 查询条件…

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