Django网课笔记

【慕课网】强力Django和杀手级xadmin学习笔记 慕课网强力Django和杀手级xadmin学习笔记2018年6月。 阅读详情

项目名:myblog
视频的Django版本1.10,我的Django版本3.0.3

项目目录介绍

在这里插入图片描述

  • manage.py:与项目进行交互的命令行工具集入口
  • db.sqlite3:项目默认的数据库
  • myblog目录:项目容器
  • wsgi.py:Python服务器网关接口,Python应用与Web服务器之间的接口,基本不会用到
  • urls.py:配置每个页面的地址
  • settings.py:项目总配置文件
    • BASE_DIR:项目根目录
    • SECRET_KEY:安全码,自动生成
    • DEBUG:为true时报错信息会反馈到前端页面上,实际生产的时候不要打开
    • ALLOWED_HOSTS:允许访问本项目的host
    • INSTALLED_APPS:已安装的应用,自己写的应用也要写在这里面
    • MIDDLEWARE:中间件,Django自带的工具集,不需要管
    • ROOT_URLCONF:url的认证文件
    • TEMPLATES:模板的配置
    • WSGI_APPLICATION:带WSGI的都不用管
    • DATABASES:数据库配置,默认使用的是sqlite3数据库
    • AUTH_PASSWORD_VALIDATORS:与密码认证有关,不用管
    • LANGUAGE_CODE、TIME_ZONE、USE_I18N、USE_L10N、USE_TZ:国际化
    • STATIC_URL:css、js等静态文件的地址
  • _init_.py:声明模块的文件

新建应用

打开项目文件夹,我这个就是进入F:\CSU\Django\myblog文件夹
在地址栏中输入cmd回车直接在该目录下打开控制台

  • 新建app:
python manage.py startapp [appname]

(注意应用名[appname]不能与Python模块重名)

  • 在项目的setting中写入appname【这一步别忘了!!!】
INSTALLED_APPS = [
...
    'appname',
...
]

目录介绍

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200222230323243.png
_init_.py都是声明模块的文件
migrations:数据迁移模块,自动生成
admin.py:该应用的后台管理系统配置
apps.py:该应用的一些配置,可以不使用
models.py:数据模块,使用ORM框架
tests.py:自动化测试模块
views.py:执行相应的代码所在模块,代码逻辑处理的主要地点

  • 在views.py中写代码
    每个响应对应一个函数,函数必须存在一个参数(一般为request),每一个响应(函数)对应一个url
from django.shortcuts import render
from django.http import HttpResponse


def index(request):
    return HttpResponse('Hw')
  • 在urls.py中配置url
    视频中和网上搜的博客都是配置url
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^item/', include('item.urls')),
]

我的是配置path,自动生成的注释里面也是说配置path,下面那样配置就可以
可能是版本问题,目前没有发现什么不一样的地方

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

import blog.views as bv


urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', bv.index)
]

这种是一个函数就在项目urls配置文件中配置一个url,项目很大的话会不好维护
下面这种是每个app一个urls配置文件,在项目urls配置文件中引入各个app的urls配置文件即可,引入时可以设置整个app的总路径

myblog\urls.py

from django.contrib import admin
from django.urls import path, include

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

myblog\blog\urls.py

from django.urls import path
from . import views

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

用DTL创建Template

创建模板就是返回HTML页面

  • 在blog中创建名为templates的目录
  • 在该目录下创建HTML文件
  • 在views.py中的函数返回render()
	return render(request, 'index.html', response)
	# render()通常传递三个参数即可,前两个是必须的
  • 这里有个坑,Django在查找模板时是从第一个app的templates文件夹查找的,所以如果后面的app里的模板与前面的有重名,会出现返回错误的模板的情况。
    • 要么就注意整个项目下所有app的模板都不要重名
    • 要么就在每个app的templates文件夹下再新建一个与app同名的文件夹,如下图。这样的话就要修改在render()的第二个参数
      在这里插入图片描述
	return render(request, 'blog/index.html')
	# 不要忘记修改第二个参数

Models

类似于Spring Boot的JPA,models.py中的类就类似于JPA中的实体类

  • 在models.py中编写类 继承models.Medel
class Article(models.Model):
    title = models.CharField(max_length=32, default='title')
    content = models.TextField(null=True)
  • 执行制作数据表
python manage.py makemigrations [appname]
  • 执行数据迁移
python manage.py migrate
  • Django会自动在app/migrations/目录下生成移植文件
    在这里插入图片描述
  • 查看SQL语句
python manage.py sqlmigrate [appname] [file_id]

例如

python manage.py sqlmigrate blog 0001
  • 从数据库中取数据
from django.shortcuts import render
from . import models


def test(request):
    article = models.Article.objects.get(pk=1) #primary key为1的数据
    return render(request, 'blog/index.html', {'article': article}) #支持对象传递

前端HTML页面中获取从后台传的数据类似于小程序wxml,用{{ }}。例如

<body>
	<h1>{{ article.title }}</h1>
	<h3>{{ article.content }}</h3>
</body>

Admin

Django自带的自动化数据管理界面,被授权的用户可直接载Admin中管理数据库

  • 创建超级用户
python manage.py createsuperuser
  • Admin入口:localhost:8000/admin
  • Admin界面汉化:修改settings.py中LANGUAGE_CODE = 'zh_Hans'
  • 在app的admin.py中引入自身的models模块(或里面的模型类),编辑admin.py:admin.site.register(models.Article)
from django.contrib import admin
from . import models

admin.site.register(models.Article)
  • 修改数据默认显示名称,默认是Article object,修改Article类:
from django.db import models


class Article(models.Model):
    title = models.CharField(max_length=32, default='title')
    content = models.TextField(null=True)

    # def __unicode__(self): python 2.x
    def __str__(self): #python 3.x
        return self.title
Vscode远程免密连接Linux虚拟机,并配置C/C++运行环境 目前想要深入学习在Linux,也为了方便编写C/C++程序。Linux的环境里一般自带有c++的编译环境,如果没有安装gcc和g++等编译器也比较便利。但是在虚拟机里用vim编写C++程序又不得劲,因此打算使用vscode远程连接Linux虚拟机进行学习。为了防止自己以后还要再配置,重复踩坑,因此写下这篇博客用做记录。环境:windows11、VMware17、rocky linux9.1 ( 开源的CentOS9 ) 阅读详情

相关推荐

Android T GPS 定位流程

Gps 定位

好记性不如烂笔头 1354

python基于django +vue3网络课程在线学习平台

Python基于Django与Vue3构建的网络课程在线学习平台是一个功能强大、高效易用、安全可扩展的在线教育解决方案。开发语言:Pythonpython框架:Django软件版本:python3.7/python3.8数据库:mysql 5.7或更高版本数据库工具:Navicat11开发软件:PyCharm/vs code前端框架:vue.js一、技术栈1.后端开发:Python与Django框架2.

QQ1039692211的博客 1256

Android中的Service:Binder,Messenger,AIDL(2)

前言前面一篇博文介绍了关于Service的一些基本知识,包括service是什么,怎么创建一个service,创建了一个service之后如何启动它等等。在这一篇博文里有一些需要前一篇铺垫的东西,建议没有看过前一篇博文的同学先去看一下前一篇: Android中的Service:默默的奉献者 (1) 。但是在前一篇博文中也有一些遗漏的东西——主要是关于bindService()这一块的具体细节。由于这

lypeer的专栏 5万+

Django教程 及完整版免费视频(零基础到精通)

百度网盘:https://pan.baidu.com/s/1egtMXCWtY3yP3ScqVkEPWw 共享 资料

bingheshidai_1234的博客 6789

载波同步技术(一):BPSK的Costas Loop 载波同步

Author:McCrocodile 2010/11/04          载波的提取在相干解调中往往比较重要,根据信号中是否包含载频分量,载波同步一般也可以分为两种方法。包含载频分量的可以采用窄带滤波或者基本的锁相环环路来实现,不包含的则比较麻烦需要采用特殊的环路实现载波的同步。这里介绍的BPSK的载波恢复就属于后面一种。 对于不包含载频分量的信号载波同步一般有:同相-正交环(就是常说的Costas环)、判决反馈环(几乎可以适用所有调制方式)、同相-正交环衍生环(QPSK松尾环、N相同相-正交环)。

McCrocodile Blog 1万+

把 ABAP ALE Change Pointers 讲透:从 CDHDR/CDPOS 到 BDCP2,再到 RBDMIDOC 的自动分发链路

摘要:SAP ALE Change Pointers机制在系统集成中实现业务变更与数据分发的解耦。它记录业务对象变更(如SAP主数据修改),但不立即发送,而是由后续分发逻辑决定发送时机和方式。该机制包含两层:Change Documents记录审计级变更明细,Change Pointers标记需分发的关键变更。配置核心包括全局开关、消息类型激活和字段选择。典型应用如零售价格条件变更自动推送至POS系统,通过BDCP2表存储待处理队列,由RBDMIDOC程序定时评估生成IDoc。运维需关注定期清理和性能优化,

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 206

《千锋Django培训》网课笔记(从1到4)

一. Django流程基本走通   首先,用户在页面输入一个url. 服务器的url控制器接收了,并根据url匹配相应的视图。 视图去models里取数据,models从数据库里取数据。 models将数据传给视图,视图再将数据传给templates. 模板将数据渲染成HTML文件,并将html文件返回给浏览器。 二. Django流程基本走通  三. Django流...

garrulousabyss的博客 2214

Android 10.0 任务栏音乐播放器后台播放杀进程功能实现

在10.0的系统rom定制化开发过程中,在某些情况下在安装第三方播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定是需要点击全部清除以后,音乐播放器也被杀掉进程,接下来看下这个问题怎么解决

安卓兼职framework和app工程师的博客 650

Python基于Django的优智学直播授课平台系统

随着计算机多媒体技术的发展和网络的普及,“基于网络的学习模式”正悄无声息的改变着传统的直播学习模式,“基于网络的直播教学平台”的研究和设计也成为教育技术领域的热点课题。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的可以师生互动的电子机构与反馈的平台,这样可以有效地解决作业管理混乱的局面。管理员可以录入新的管理员,因为一个系统可能包括不同的管理人员,查询管理数据,删除历史管理员信息,并删除对应的操作权限。2.4MySQL数据库 5。...

qqvx_6310855的博客 592

训练YOLOv11 | Pytorch和Pycharm的安装教程适用W11系统(附详细的系统变量添加过程)

根据你之前下载的版本选择对应的选项即可,然后复制底下的绿色代码到Anaconda的命令行输入即可(这里要在你安装的python环境里进行安装,例如我的环境名字是PyTorch,那么就是activate PyTorch里进行安装)然后同之前一样会加载一会,然后会询问我们是否下载配件,我们输入Y等待即可(下载过程中我们要确保网络通常如果有波动可能会下载失败)。类似于我的电脑是Windows11选择上面红框内的选项即可点击后即下载,(注意这里下载的是zip文件)下载完成后复制下面几个文件。

Snu77的博客 1万+

一、C++反作弊对抗实战 (基础篇 —— 2.注册表注入DLL)

在Windows NT/XP操作系统中,当需要加载user32.dll的程序启动时,user32.dll会加载注册表键HLM\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_dlls下面列出的所有模块。

Koma的主页 1096

Django企业开发读书笔记(及官方文档学习笔记) 老男孩2019Go语言视频学习

目标:深入理解Django以及web开发深入知识,掌握Gin ,Go micro 框架 ,Kafka ,Zookeeper 为kubernetes Istio 做微服务,服务网格做铺垫 实现Python + Golang + Vue + Bootstrap + 还可以加上fabric提供区块链的服务 go语言的核心特性:天生为多核心准备,比如8核cpu写一个go程序自动会跑满,而且写起来十...

qq_44291044的博客 1540

Dify 系列教程 | 第 6 篇:工作流入门 -- 用可视化方式编排 AI 逻辑

Dify 工作流是一个基于有向无环图(DAG)的可视化 AI 逻辑编排系统。你可以把多个处理步骤(节点)用连线串联起来,数据从起点流向终点,每经过一个节点就被处理一次。用一个类比来理解:如果单次 Prompt 调用是"一道菜",那工作流就是"一道完整的生产线" – 原材料(输入)进入流水线,经过清洗(预处理)、切配(数据转换)、烹饪(AI 推理)、装盘(格式化输出)等工序,最终产出成品。创建一个工作流类型的应用(或高级聊天类型),就会进入工作流编辑器。编辑器基于ReactFlow构建(

weixin_43674738的博客 118

《千锋Django培训》网课笔记(从15到17)

十五.             十六.           十七.              

garrulousabyss的博客 437

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《千锋Django培训》网课笔记(从18到)

 十八.         验证阶段: 首先,我们先通过python3 manage.py shell进入shell模式,并测试一下,当我们自定义模型管理器前,objects的情况 &gt;&gt;&gt; from myApp.models import Grades, Students &gt;&gt;&gt; from django.utils import timezon...

garrulousabyss的博客 1883

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《千锋Django培训》网课笔记(从5到8)

五.     六.    &gt;&gt;&gt; from myApp.models import Grades, Students &gt;&gt;&gt; from django.utils import timezone &gt;&gt;&gt; from datetime import * &gt;&gt;&gt; Grades.object...

garrulousabyss的博客 586

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

《千锋Django培训》网课笔记(从9到11)

九.        十.   当一个请求到达服务器时,服务器先去project下的urls.py,再被里面的内容导向myApp下的urls.py, 再被这里面的内容,导向myApp下的views.py          十一. 当前项目的树形结构 [root@VM_0_15_centos project]# tree . |-- db.sqlite3 |-- mana...

garrulousabyss的博客 1098

《千锋Django培训》网课笔记(从12到14)

十二.  十三.           十四.                                

garrulousabyss的博客 704

千锋教育Django笔记:助力初学者快速上手Django开发

千锋教育Django笔记:助力初学者快速上手Django开发 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 千锋教育Django笔记是一个专为Django初学者设计的网课笔记资源库。它集成了Django框架的基础知识、实用代码示例和学习笔记,旨在帮助初学者系统地学习并掌握Django开发技能。 项目技术分析 Django框架 千锋教育Django笔记的核心是基于Pyt...

gitblog_06784的博客 415

千锋教育Django笔记

千锋教育Django笔记 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到千锋教育Django笔记资源库!这里提供了一份详细的Django网课笔记资源,包含丰富的代码实例和学习笔记,特别适合初学者进行学习和参考。 资源描述 本资源包含以下内容: Django框架的基础知识 实用的代码示例 学习笔记,帮助理解每个知识点 这些笔记详尽地记录了Django的学习要点,从基础...

gitblog_06790的博客 350

django基于python的网课商城设计与实现

随着在线教育的普及,网课商城成为用户获取学习资源的重要平台。基于Python的Django框架设计并实现的网课商城系统,旨在为用户提供便捷的课程购买、学习管理和互动交流功能。系统采用B/S架构,前端使用HTML、CSS、JavaScript和Bootstrap实现响应式布局,后端基于Django的MTV模式开发,数据库采用MySQL存储用户、课程、订单等数据。系统核心功能包括用户模块、课程模块、订单模块和支付模块。用户模块实现注册、登录、个人信息管理及权限控制;订单模块处理用户选课、购物车管理和订单生成。

qq840612233的博客 454

django的疫情网课管理系统(程序+开题报告)

通过该系统,教师可以方便地发布课程信息、布置作业,学生可以在线签到、请假,系统还能自动记录学生的出勤情况和作业完成情况。系统的主要功能包括:学生信息管理、教师信息管理、班级课表管理、课程分类管理、课程信息管理、学生签到管理、学生请假管理和作业信息管理等。五、拟解决的主要问题: 本研究主要解决的问题包括:如何有效地管理学生信息、教师信息、班级课表、课程分类、课程信息、学生签到、学生请假和作业信息等问题。三、目的: 本研究旨在设计并实现一个疫情网课管理系统,以便于教师进行线上教学,同时也方便学生进行线上学习。

皇森斯毕设程序 1012

【开题报告】基于django+vue网课个性化推荐系统的设计与实现(论文+程序)

本研究旨在设计并实现一个基于Django+Vue的网课个性化推荐系统,该系统通过收集并分析学生的学习行为数据,运用先进的推荐算法,为学生提供符合其个性化需求的网课推荐。本研究的意义在于,首先,它能够为学生提供更加个性化的学习路径,帮助学生快速定位到感兴趣的课程,提高学习效率和学习动力。教师管理模块需支持教师的注册、登录、课程发布等功能;:深入调研在线教育市场的现状和发展趋势,明确系统需实现的功能模块,包括学生信息管理、教师信息管理、课程类型管理、课程信息管理、在线课堂管理、课堂作业管理以及完成作业管理等。

sheji303的博客 1059

基于 Python Django 的在线编程学习平台(仿慕课网)

仿照搭建的在线编程学习平台。

程序员徐师兄的博客 591

Python+Django教学评价系统\学生网课学习效果评价_wveip--(Pycharm Flask Django Vue mysql)

随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,学生网课学习效果评价展现了其蓬勃生命力和广阔的前景。与此同时,为解决学生需求,学生网课学习效果评价发展愈发多元化与网络化,与电子信息技术相结合。学生网课学习效果评价应运而生。

QQ123311197的博客 670

python+django疫情网课平台/在线教育管理系统/网课软件/远程教育系统/在线课程管理工具/疫情期间网络学习flask

本系统采用的数据库是mysql,使用dsjango/flask框架开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

QQ511008285的博客 950
上一篇: 微信小程序网课笔记
下一篇: win10系统装机之 环境配置及常用软件官网下载地址 Windows重装 Windows服务器装机
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值