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

好的。下面是“教你用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中的过滤器

    详解Django中的过滤器 概述 Django中的过滤器是用于筛选数据库数据的工具,它能够将满足条件的数据提取出来,以便于进行进一步的处理。 Django过滤器的基本语法为 Model.objects.filter(条件表达式),其中,Model是指你在项目中定义的数据模型,objects是指数据模型的管理器,filter则是指要进行的筛选操作。 基础用法 …

    Django 2023年5月16日
    00
  • 简单了解Django ORM常用字段类型及参数配置

    下面是关于“简单了解Django ORM常用字段类型及参数配置”的完整攻略: 1. 常用字段类型 Django ORM常用的字段类型分为以下几类: 字符类型 CharField:最多存储255个字符 TextField:可存储任意长度的文本字符串 数值类型 IntegerField:存储整型值 FloatField:存储浮点型值 日期和时间类型 DateFi…

    Django 2023年5月15日
    00
  • Django+Vue打造购物网站(一)

    环境搭建 python == 3.6Django == 2.0 创建工程 django-admin startproject MxShop 配置setting.py文件 # 数据库 DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.mysql’, ‘NAME’: ‘mxshop’, #数据库名字…

    Django 2023年4月9日
    00
  • Nginx,uWSGI与Django 应用的关系

    前因        关于WSGI、uWSGI、uwsgi、Nginx这些名词及与Django 项目的关系,之前有个善(漂)良(亮)的小姐姐问过我,当时我也不是很明白,没有给她解释的很清楚,很是后悔,现在结合网上的一些资料进行一下汇总,且加入了一些我自己的看法,有不足之处还望路过的大佬给予批评指正,拜谢! 名词介绍 WSGI (通信协议) 全称Web Serv…

    Django 2023年4月11日
    00
  • django-admin.py创建项目失败解决方法

    环境:Ubuntu、python2.7、django1.9.5 当用django-admin.py startproject projectName创建对应的django项目时出现command not found: django-admin.py情况的解决方案: 找到对应的文件django-admin.py的路径:            如图运行相关命令:…

    Django 2023年4月10日
    00
  • 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器

    教你如何将 Sublime 3 打造成 Python/Django IDE开发利器 Sublime 3 是一款灵活且可扩展的文本编辑器,许多开发者都喜欢使用它来进行代码编写。如果你正在开发 Python 或 Django 项目,我们可以通过在 Sublime 3 中安装相应的插件以及做一些必要的配置,将其打造成一个强大的 Python/Django IDE …

    Django 2023年5月16日
    00
  • 第一篇-Django建立数据库各表之间的联系(上)

    多表操作(一对多)   遇到的问题: 执行python manage.py makemigrations后报如下错误   TypeError: __init__() missing 1 required positional argument: ‘on_delete’ 这是外键导致的, 修改外键连接代码如标红部分。 class Book(models.Mod…

    Django 2023年4月11日
    00
  • Django实现简单登录的示例代码

    我会针对这个问题给出详细的解答。 首先,我会讲解Django框架中实现简单登录的原理,接着是一个简单的示例,最后是另一个更实用的示例。 原理 Django框架实现用户登录的核心原理是使用Session机制。在用户登录成功后,框架会在服务器端为该用户生成一个唯一的Session ID,并将Session ID返回给用户端,同时在服务器端为该Session ID…

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