进入`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

登录

#### 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. 编辑前端⻚⾯获取并处理数据
Title
{{ title }}

#### 6.配置路由
urlpatterns = [ re_path('^show/', views.templates) ]

#### 7.测试
运行服务器
$ python manage.py runserver
浏览器输入`127.0.0.1:8000/index/`页面显示`Hello Django Templates`

---
### 九、配置文件settings.py
#### 1. BASE\_DIR
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(file)))
当前⼯程的根⽬录,`Django`会依此来定位⼯程内的相关⽂件,我们也可以使⽤该参数来构造⽂件路径。
#### 2. 调试DEBUG
调试模式,创建⼯程后初始值为`True`,即默认⼯作在调试模式下。
作⽤:
* 修改代码⽂件,程序⾃动重启
* `Django`程序出现异常时,向前端显示详细的错误追踪信息,例如:
当我在`dj/urls.py` ⽂件末尾任意输⼊`LLO`,服务器会⾃动重启,会输出相应的错误提示。
* ⽽⾮调试模式下,仅返回`Server Error (500)`
**注意:部署线上运⾏的`Django`不要运⾏在调式模式下,记得修改`DEBUG=False`和`ALLOW_HOSTS。`**
#### 3. 本地语⾔与时区
`Django`⽀持本地化处理,即显示语⾔与时区⽀持本地化。
本地化是将显示的语⾔、时间等使⽤本地的习惯,这⾥的本地化就是进⾏中国化,中国⼤陆地区使⽤简体中⽂,时区使⽤亚洲/上海时区,注意这⾥不使⽤北京时区表示。
初始化的⼯程默认语⾔和时区为英语和`UTC`标准时区
LANGUAGE_CODE = 'en-us' # 语⾔ TIME_ZONE = 'UTC' # 时区# 时区
将语⾔和时区修改为中国⼤陆信息
LANGUAGE_CODE = 'zh-Hans' # 中文 TIME_ZONE = 'Asia/Shanghai' # 时区上海
#### 4. 静态⽂件
项⽬中的`css`、`image`、`js`都是静态⽂件。⼀般会将静态⽂件放到⼀个单独的⽬录中,以⽅便管理。在html⻚⾯中调⽤时,也需要指定静态⽂件的路径,`Django`中提供了⼀种解析的⽅式配置静态⽂件路径。静态⽂件可以放在项⽬根⽬录下,也可以放在应⽤的⽬录下,由于有些静态⽂件在项⽬中是通⽤的,所以推荐放在项⽬的根⽬录下,⽅便管理。
为了提供静态⽂件,需要配置两个参数:
* `STATICFILES_DIRS` 存放查找静态⽂件的⽬录
* `STATIC_URL` 访问静态⽂件的`URL`前缀
示例:
1) 在项⽬根⽬录下创建`static`⽬录来保存静态⽂件。
2) 在`film_manager/settings.py`中修改静态⽂件的两个参数为
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
3)此时在`static`添加的任何静态⽂件都可以使⽤⽹址`/static/`⽂件在`static`中的路径来访问了。
例如,我们向`static`⽬录中添加⼀个`hello.html`⽂件
Hello
Hello World!

在浏览器中就可以使⽤`127.0.0.1J8000/static/hello.html`来访问。

**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**


**[如果你需要这些资料,可以戳这里获取](https://gitee.com/vip204888)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**