下面所有内容来自《Python编程:从入门到实践》,如有侵权请联系

一、创建 Django 项目

下面都是我试用过的命令,非常顺利,如果遇到麻烦,请参考大佬文章:
https://blog.csdn.net/qq_43192337/article/details/124611507

创建一个文件 learning_log

进入该文件后,执行下面语句,来创建虚拟环境

python -m venv ll_env
运行了模块venv,并使用它来创建一个名为ll_env的虚拟环境

继续,激活虚拟环境

ll_env\Scripts\activate

关闭虚拟环境

deactivate

在虚拟环境汇中,安装Django

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.2.8

在Django中创建项目

django-admin.py startproject learning_log .

创建数据库

python manage.py migrate

在虚拟环境中启动服务

python manage.py runserver

启动后浏览器中

http://localhost:8000/
或者 http://127.0.0.1:8000/

成功!

二、创建应用程序

老规矩,附上大佬文章,感谢帮助:
https://blog.csdn.net/qq_43192337/article/details/124627877?spm=1001.2014.3001.5502

在保证启动服务的同时,打开另外cmd窗口,激活虚拟环境,新增 learning_logs 文件夹

ll_env\Scripts\activate
python manage.py startapp learning_logs


最重要的文件是models.py、admin.py和views.py。使用 models.py 来定义程序中管理的数据

每当需要修改该项目管理的数据时,都采取如下三个步骤:
修改models.py;对 learning_logs调用 makemigrations;让Django迁移项目

2.1 定义模型

在 models.py 中

from django.db import models
class Topic(models.Model):# 用户学习的主题# 需要存储少量的文本,如名称、标题或城市时,可使用CharFieldtext = models.CharField(max_length=200)# DateTimeField—记录日期和时间的数据# 实参auto_add_now = True表示每当用户创建新主题时属性自动设置成当前日期和时间。date_added = models.DateTimeField(auto_now_add=True)def __str__(self):# 返回模型的字符串表示return self.text

2.2 激活模型

要使用模型,必须让 Django 将应用程序包含到项目中
打开settings.py文件(learning_log/learning_log中)
在 INSTALLED_APPS 中添加 ‘learning_logs’

Django 修改数据库,用于存储与模型 Topic 相关的数据

python manage.py makemigrations learning_logs

应用这种迁移,让 Django 来修改数据库

python manage.py migrate

2.3 Django 管理网站

2.3.1 在 Django 中创建超级用户,并设置账号密码

python manage.py createsuperuser

2.3.2 向管理网站注册模型

Django自动在管理网站中添加了一些模型,如User和Group,但对于我们创建的模型,必须
手工注册
找到 learning_logs\admin.py ,向管理网站注册Topic

from django.contrib import admin
from learning_logs.models import Topic
admin.site.register()来让 Django 通过管理网站来管理模型
admin.site.register(Topic)

访问

http://localhost:8000/admin/


输入账号密码,可以进来

最后,Topics就是我们自己创建的模块啦,在 Topics 里面添加两个主题 Chess 和 Rock Climbing

2.3.3 定义模型Entry

要记录 Chess 和 Rock Climbing 的知识内容,需要为用户在笔记中添加的条目定义模型。每个条目都与特定主题相关联,关系为多对一,多个条目关联同一主题。

在 learning_logs\models.py 中

class Entry(models.Model):'''topic是一个ForeignKey实例(数据库外键,引用了数据库中的另一条记录)将每个条目关联到特定的主题,每个主题在创建时都分配一个ID'''topic = models.ForeignKey(Topic, on_delete = models.CASCADE)text = models.TextField()''' 属性date_added让我们能够按创建顺序呈现条目,并在每个条目旁边放置时间戳 '''date_added = models.DateTimeField(auto_now_add=True)''' Meta类存储用于管理模型的额外信息 '''class Meta:'''当Django在需要时使用Entries来表示多个条目。如果没有这个类,Django将使用Entrys来表示多个条目。'''verbose_name_plural = 'entries''''__str__()告诉Django,呈现条目时显示哪些信息。这里只显示text的前50个字符。'''def __str__(self):return self.text[:50] + "..."

对于 verbose_name_plural 的 理解看上面链接,大佬的文章里面讲到了,很详细 ~

2.3.4 迁移模型 Entry

新模型,因此需要再次迁移数据库,重复上面 Topic 的三步(黄色标记部分)

python manage.py makemigrations learning_logs
python manage.py migrate

生成了一个新的迁移文件——0002_entry.py,它告诉Django如何修改数据库,使其能够存储
与模型Entry相关的信息

2.3.5 向管理网站注册 Entry

learning_logs\admin.py

成功!

三、认识 Django shell

交互式环境称为Django shell,是测试项目和排除其故障的理想之地

python manage.py shell

例如书上有这样一个例子:

Ctrl + Z 退出 shell 会话
现在理解为什么shell是测试项目和排除其故障的场所了,利用python语法环境来直接检测。

Python 项目二 Web应用程序 01相关推荐

  1. Python 项目二 Web应用程序 02

    文章目录 一.创建网页 1.映射 URL 2.使用 learning_logs\urls.py 将URL映射到视图 3.编写试图 4.编写模板 二.用户账户 2.1 添加新主题 2.1.1 创建一个用 ...

  2. python项目二:多种验证码及二维码输出

    python项目二:多种验证码及二维码输出 ` import os import qrcode import random import time import tkinter from pystri ...

  3. python进阶之web前端(01—HTML超文本标记语言)

    目录 01.Web前端开发介绍 1.Web前端开发概述 2.Web起源 3.Web特点 4.Web工作原理 5.URL介绍 02.HTML网页结构 1.HTML基本结构 2.HTML文档类型 3.HT ...

  4. 微信小程序开发教程:项目二微信小程序开发基础 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简单描述页面样式的单位rpx与px的关系. 2.简 ...

  5. python .net web开发对比_Python与C#/.NET——在使用Python开发大型web应用程序时,需要考虑哪些关键区别?...

    ".NET"不是一种语言.也许是Python vs.C#,或者Python/Django vs.C#/ASP.NET(或者选择任何你想要的"网络作品":Pyth ...

  6. 独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)

    作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家 翻译:陈之炎 校对:闫晓雨 本文约4300字,建议阅读10分钟. 本文阐述如何使用StreamLit创建支持 ...

  7. 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)

    作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家 翻译:陈之炎  校对:闫晓雨 本文约4300字,建议阅读10分钟. 本文阐述如何使用StreamLit创建支 ...

  8. 如何在一天内构建和部署机器学习web应用程序 — 榴莲分类

    本文我将带领大家构建一个Web应用程序以对榴莲进行分类,在这里(https://durian-classifier.herokuapp.com/) 可以查看相关信息. 如果你不知道榴莲是什么,那我向你 ...

  9. 做python项目需要知道什么_一文带你了解python是什么?能做什么?为什么要学?(文末附学习资源)...

    什么是 Python? Python 是一门流行的编程语言.它由 Guido van Rossum 创建,于 1991 年发布. 它用于:1.Web 开发(服务器端) 2.软件开发 3.数学 4.系统 ...

最新文章

  1. mysql遵循acid_mysql关系型数据库遵循ACID规则
  2. 白血病孕妇产子继母子双双安然
  3. python与编码方式
  4. 用ASP.NET Web API技术开发HTTP接口(一)
  5. hibernate的一对多双向关联映射----客户和订单关系
  6. vim折叠的使用方法
  7. opengl加载显示3D模型md5mesh类型文件
  8. ELK安装配置及nginx日志分析
  9. java 应用程序 gui_Java GUI应用程序关闭陷阱
  10. python保留字的是_Python保留字
  11. java帧结构_Java虚拟机运行时栈帧结构--《深入理解Java虚拟机》学习笔记及个人理解(二)...
  12. Vue-cli 4.x 中的全局样式配置
  13. getCacheDir()和getFilesDir()方法区别
  14. qt5 tcp服务器编程 多固定客户_服务器与客户端进程之间端口号联系
  15. 阿里云云计算 37 PolarDB MySQL的连接
  16. linux下分卷压缩,合并解压的3种方法
  17. 信息安全工程师学习笔记《第一章》
  18. 安卓手机上有什么好用的日程安排管理软件?
  19. app内录屏开发 ios_iOS 一行代码实现手机录屏功能
  20. DDD落地过程中有关DTO的思考

热门文章

  1. 一次教你超人气好喝咖啡的做法秘诀 | 埃德珈咖啡培训
  2. 立方数(清北学堂济南刷题冲刺)
  3. 最后一名真正的黑客,让微软高管睡不着的人
  4. C++prime plus 第十章课后编程练习
  5. 操作系统实验:页面置换算法的模拟实现及命中率对比(学习笔记)
  6. delphi xe3 的安装步骤
  7. modelsim do文件
  8. Win11怎么设置显示文件扩展名
  9. 怎样建立编程思维 请看这里
  10. github下载代码运行问题