既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
查看已创建的虚拟环境命令 :
$ workon
使⽤某个虚拟环的命令 :
$ workon 虚拟环境名称
退出虚拟环境的命令 :
$ deactivate
删除虚拟环境的命令 :
$ rmvirtualenv 虚拟环境名称
4.如何在虚拟环境中安装⼯具包
确认是否进⼊当前虚拟环境 (workon
虚拟环境名)
$ pip install ⼯具包名==版本号
$ pip list 查看已安装的⼯具包
三、创建Django项目工程
1.创建虚拟环境
查看虚拟环境
$ workon
创建虚拟环境py38_dj22
$ mkvirtualenv 虚拟环境名称
安装Django2.2框架模块
$ pip install Django==2.2
查看是否安装成功
$ pip list
2.创建Django项目
在桌面创建djproject
文件
$ cd Desktop/
$ mkdir djproject
进入djproject
文件
cd djprojects/
创建项目dj01
$ django-admin startproject 项目名称
查看项目
$ ls
查看目录结构
$ tree
settings.py
是项⽬的整体配置⽂件。urls.py
是项⽬的URL
配置⽂件。wsgi.py
是项⽬与WSGI
兼容的Web
服务器⼊⼝。manage.py
是项⽬管理⽂件,通过它管理项⽬。
进入项目dj01
$ cd dj01
$ ls
执行manage.py
文件
$ python manage.py runserver
访问服务器浏览器输入http://127.0.0.1:8000/
Ctrl+C
退出服务器
四、创建项目子应用
在Web
应⽤中,通常有⼀些业务功能模块是在不同的项⽬中都可以复⽤的,故在开发中通常将⼯程项⽬拆分为不同的⼦功能模块,各功能模块间可以保持相对的独⽴,在其他⼯程项⽬中需要⽤到某个特定功能模块时,可以将该模块代码整体复制过去,达到复⽤。
1.创建项目子应用
$ python manage.py startapp 子应用名
2.应用子目录说明
admin.py
⽂件跟⽹站的后台管理站点配置相关。apps.py
⽂件⽤于配置当前⼦应⽤的相关信息。migrations
⽬录⽤于存放数据库迁移历史⽂件。models.py
⽂件⽤户保存数据库模型类。tests.py
⽂件⽤于开发测试⽤例,编写单元测试。views.py
⽂件⽤于编写Web应⽤视图。
3.注册安装⼦应⽤
创建出来的⼦应⽤⽬录⽂件虽然被放到了⼯程项⽬⽬录中,但是Django⼯程并不能⽴即直接使⽤该⼦应⽤,需要注册安装后才能使⽤。
$ vim settings.py
在⼯程配置⽂件settings.py
中,INSTALLED_APPS
项保存了⼯程中已经注册安装的⼦应⽤,初始⼯程中的INSTALLED_APPS
如下:
注册安装⼀个⼦应⽤的⽅法,即是将⼦应⽤的配置信息⽂件apps.py
中的Config
类添加到INSTALLED_APPS
列表中。
4.设置PyCharm环境
五、Django模型
1.定义模型类
modles.py
文件
from django.db import models
# Create your models here.
class FilmInfo(models.Model):
fid = models.AutoField(primary_key=True)
fname = models.CharField(max_length=20)
class PeopleInfo(models.Model):
uid = models.AutoField(primary_key=True)
uname = models.CharField(max_length=30)
gender = models.BooleanField()
dj = models.ForeignKey(FilmInfo, on_delete=models.CASCADE)
2.创建迁移文件
$ python manage.py makemigrations 应用
已安装情况下仍然报错
报错内容为找不到mysqlclient
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
通常解决办法:项目(settings.py同级)目录中__init__.py
中添加
import pymysql
pymysql.install_as_MySQLdb()
3.查看生成的SQL语句
$ python manage.py sqlmigrate dj 0001
4.执⾏迁移⽂件
执⾏迁移⽂件:根据第⼀步⽣成的语句在数据库中创建表
$ python manage.py migrate
六、站点管理
1. 管理界⾯本地化
本地化是将显示的语⾔、时间等使⽤本地的习惯,这⾥的本地化就是进⾏中国化.
中国⼤陆地区使⽤简体中⽂, 时区使⽤亚洲/上海时区, 注意这⾥不使⽤北京时区.
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
2. 创建管理员
创建管理员的命令 :
python manage.py createsuperuser
(awei) awei@ubuntu:~/Desktop/DjangoProjects/dj01$ python manage.py createsuperuser
用户名 (leave blank to use 'awei'): admin
电子邮件地址: flymeawei@163.com
Password: @Lmw133212
Password (again): @Lmw133212
Superuser created successfully.
(awei) awei@ubuntu:~/Desktop/DjangoProjects/dj01$
登录
3. 注册模型类
在应⽤的admin.py
⽂件中注册模型类
需要导⼊模型模块 :from book.models import BookInfo,PeopleInfo
from django.contrib import admin
from dj.models import FilmInfo, PeopleInfo
# Register your models here.
admin.site.register(FilmInfo)
admin.site.register(PeopleInfo)
4.修改默认输出
在模型类中添加__str__
方法,优化模型类输出
优化后
七、视图和URL
1.定义视图函数
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def show(request):
"""
print Hello Django2.2 !
:param request:
:return:
"""
return HttpResponse('Hello Django2.2 !')
2.配置路由
根路由settings.py
文件
ROOT_URLCONF = 'dj01.urls'
- 配置根路由
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('dj.urls.py'))
]
- 配置子路由
from django.urls import path, re_path
from dj.views import show
urlpatterns = [
re_path('^show/$', show)
查找视图的过程 :
- 1.请求者在浏览器地址栏中输⼊
URL
, 请求到Django
服务器. - 2.
Django
服务器获取URL
请求路径. - 3.然后与程序中的
URLconf
逐条匹配. - 4.如果匹配成功则调⽤对应的视图.
- 5.如果所有的
URLconf
都没有匹配成功.则返回404
错误.
八、模板
1.模板使⽤步骤
- 创建模板
- 设置模板查找路径
- 模板接收视图传⼊的数据
- 模板处理数据
2. 创建模板
在应⽤同级⽬录下创建模板⽂件夹templates
. ⽂件夹名称固定写法.
在templates
⽂件夹下, 创建应⽤同名⽂件夹,例:dj
在应⽤同名⽂件夹下创建⽹⻚模板⽂件. 例 :index.html
3. 设置模板查找路径
settings.py
文件下的TEMPLATES
'DIRS': [os.path.join(BASE_DIR, 'templates')],
BASE_DIR
当前工程项目dj01
下
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
4. 编辑视图函数传递数据给模板
from django.shortcuts import render
# Create your views here.
def templates(request):
"""
xian shi dao templates
:param request:
:return:
"""
data = {'title': 'Hello Django Templates'}
return render(request, 'dj/index.html', data)
5. 编辑前端⻚⾯获取并处理数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<h1 style="color: red"> {{ title }} </h1>
<body>
</body>
</html>
6.配置路由
urlpatterns = [
re_path('^show/$', views.show),
re_path('^index/$', views.templates)
]
7.测试
运行服务器
$ python manage.py runserver
浏览器输入127.0.0.1:8000/index/
页面显示Hello Django Templates
九、配置文件settings.py
1. BASE_DIR
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1beab8d919ee712ea9283293242b84d9.png)
7.测试
运行服务器
$ python manage.py runserver
浏览器输入127.0.0.1:8000/index/
页面显示Hello Django Templates
九、配置文件settings.py
1. BASE_DIR
[外链图片转存中…(img-zBxEAwQT-1715785126205)]
[外链图片转存中…(img-pFcqqW5M-1715785126205)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)