当前位置:   article > 正文

Python-新建-Django项目-调试-显示mysql数据库表内容-HelloWorld_django怎么调试代码

django怎么调试代码

1.Pycharm-开发编辑器

文件->新建项目->选择Django。接着在控制台输入命令:

python -m django --version #查看版本

控制台界面如下所示:
在这里插入图片描述
在这里插入图片描述
如上图所示,在项目文件夹下找到settings.py文件,然后在settings.py文件头加上:

import os

接着运行迁移命令,如下所示:

python manage.py migrate

然后就可以用右上角的命令进行启动。也可以使用运行命令,如下所示:

python manage.py runserver

在这里插入图片描述

2.HelloWorld程序范例

在主目录下新建views.py文件,然后键入内容:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world ! ")
  • 1
  • 2
  • 3
  • 4

接着在urls中,添加路由,如下所示:

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    #path('admin/', admin.site.urls),
    path('hello/', views.hello),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

启动项目,然后在浏览器输入:

http://127.0.0.1:8000/hello/

如下图所示:
在这里插入图片描述

3.代码调试

在hello函数上下断点,然后启动以调试模式启动,就可以在调试django,如下图所示:
在这里插入图片描述
其它调试步骤,与python语言调试没有区别。

4.连接数据库-mysql

4.1.安装好mysql数据库

从官网上下载相应的数据库安装文件,然后新建数据库ZhiLiao。
在这里插入图片描述
在setting配置文件中,注释原来的数据库连接,然后新建mysql数据库连接,如下所示:

# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 默认
        'NAME': 'zhiliao',  # 连接的数据库
        'HOST': '127.0.0.1',  # mysql的ip地址
        'PORT': 3306,  # mysql的端口
        'USER': 'root',  # mysql的用户名
        'PASSWORD': 'root123456'  # mysql的密码
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

修改项目文件夹下的__init__.py文件,添加内容如下:

import pymysql
pymysql.install_as_MySQLdb()
  • 1
  • 2

如果没有可以在终端安装一个,命令如下:

pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/

4.2.创建项目

在终端输入如下命令,创建一个web项目:

python manage.py startapp web
  • 1

添加最后一行,如下所示:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'web.apps.WebConfig', #添加记录
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

执行迁移命令,如下所示:

python manage.py makemigrations
python manage.py migrate #配置好参数之后执行迁移命令

"F:/Anaconda/envs/DjangoServerTest/python.exe" manage.py makemigrations
"F:/Anaconda/envs/DjangoServerTest/python.exe" manage.py migrate #配置好参数之后执行迁移命令
  • 1
  • 2
  • 3
  • 4
  • 5

4.3.数据库表转模型

运行下面代码可以自动生成models模型文件:

django-admin.py startapp app   #如果已经存在app  ,不需要执行这行
python manage.py inspectdb > web/models.py   #如果名称不一样, 请用你自己的app名称
  • 1
  • 2

新建数据库表,如下所示:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for web_student
-- ----------------------------
DROP TABLE IF EXISTS `web_student`;
CREATE TABLE `web_student`  (
  `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of web_student
-- ----------------------------
INSERT INTO `web_student` VALUES (1, 'Ogawa Ryota');
INSERT INTO `web_student` VALUES (2, 'Lin Yuning');
INSERT INTO `web_student` VALUES (3, 'Fujii Ryota');
INSERT INTO `web_student` VALUES (4, 'Nakamura Sakura');
INSERT INTO `web_student` VALUES (5, 'Ng Kwok Kuen');

SET FOREIGN_KEY_CHECKS = 1;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

将数据库表转成模型文件。

python manage.py inspectdb > web/models.py   #如果名称不一样, 请用你自己的app名称

#指定python
"F:/Anaconda/envs/DjangoServerTest/python.exe" manage.py inspectdb > web/models.py
  • 1
  • 2
  • 3
  • 4

4.4.前端展示

步骤:编写url;编写视图(views);编写html(templates);启动web。
首先,在ZhiLiaoAI/urls.py中编写路由路径,如下所示:

from django.contrib import admin
from django.urls import path
from web import views

urlpatterns = [
	path('', admin.site.urls),#主页
    path('admin/', admin.site.urls),
    path('student_list', views.student_list),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然后,在视图文件中web/views.py中编写视图显示,如下所示:

from django.shortcuts import render
from web import models

# Create your views here.
def student_list(request):
    student_queryset = models.WebStudent.objects.all()
    return render(request,"student.html",{"student_queryset":student_queryset})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

其次,新建模板文件templates/student.html,内容如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <td>id</td>
        <td>姓名</td>
    </tr>
    </thead>
    <tbody>
    {% for student in student_queryset %}
        <tr>
            <td>{{ student.id }}</td>
            <td>{{ student.name }}</td>
        </tr>
    {% endfor %}
    </tbody>
</table>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

最后启动服务器,在浏览器输入网址:http://127.0.0.1:8000/student_list

5.总结

本文介绍了构建Django开发环境的详细步骤,在此基础上构建了一个简单的数据库访问项目,显示数据库内的数据。对于熟悉python语言的读者,想采用这种模式构建一个简单的服务器项目,来进行一些计算,确实是非常方便的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/449893
推荐阅读
相关标签
  

闽ICP备14008679号