一、安装django包
pip install django #安装最新Django
pip install django==3.2 #指定版本安装
1、创建Django项目:
❖ django-admin startproject apitest
2、创建APP的骨架并声明(让大家都知道)
2.1 python manage.py startapp blog
2.2 ❖ settings.py配置文件里的INSTALLED_APPS选项里注册应用。申明blog这个文件夹是一个APP应用。
❖ 我们需要把语言设置为中文和时区修改为中国时区
2.3建立对外沟通的界面:hello world!!
❖ views.py
❖ from django.http import HttpResponse
❖ def hello(request):
❖ return HttpResponse(‘Hello,world')
2.4 建立地址访问的桥梁路由映射。
urls.py
from blog import views #+
urlpatterns = [
path('admin/', admin.site.urls),
path('index', views.hello), #+
]
3、python manage.py runserver
二 添加模板及静态文件,使用二级路由
1.1). 配置根路由和二级路由
from django.contribimport admin
from django.urls import path, include
urlpatterns = [
path('admin/',admin.site.urls),
path('',include('blog.urls')),
]
1.2)每个APP应用新建一个同名的urls.py是二级路由
blog/ulrs.py
from django.urlsi mport path
from. import views
urlpatterns=[
path('', views.home),]
1.3)新增路由
views.py
def abcdef(request):
return httpresponse('i love you')
bolg/ urls.py
form django.urlsimport path
from .import views
urlpatterns=[
path('', views.home),
path('love',views.abcdef)]
2Templates的应⽤
.(1). 设置模板的位置:settings中TEMPLATES->’DIRS’:
cos.path.join(BASE_DIR, 'base/templates')
(2)建⽴模板
在blog下⾯建⽴⽂件夹templates,在其下⾯建⽴demo.html⽂件
(3) 使⽤模板(urls加路由,与view中的对应)
render(request, ‘demo.html')
建⽴模板:Demo.html
❖ <!DOCTYPE html>
❖ <html lang="en">
❖ <head>
❖ <meta charset="UTF-8">
❖ <title>demo样式</title>
❖ </head>
❖ <body>
❖ <p>
❖ <h2> 这是我的简书的地址 </h2>
❖ <a href="https://www.jianshu.com/u/030c07091ea4" target="_blank" >测试星云</a>
❖ <h4>测试相关技术探讨</h4>
❖ </p>
❖ </body>
❖ </html>
添加样式表
❖ 1、在templates同级建⽴⼀个static⽂件夹
❖ 2、在settings.py中最下⾯添加
❖ STATICFILES_DIRS=[
❖ os.path.join(BASE_DIR,’static’)
❖ ]
❖ 3、在static下⾯建⽴⼀个1.css样式表,写点样式。
❖ H1{
❖ Color:#369
❖ }
❖ 4、在demo.html⽂件中head下⾯加⼊
❖ <link rel=“stylesheet” href=“/static/1.css”>
三、使⽤ORM⽅式建⽴操作数据表
创建模型 blog/models.py
❖ from django.db import models
❖ class Category(models.Model):
❖ name = models.CharField(verbose_name='分类', max_length=100)
❖ class Tags(models.Model):
❖ name = models.CharField('标签', max_length=100)
❖ class Article(models.Model):
❖ title = models.CharField('⽂章标题',max_length=70)
❖ intro = models.TextField('⽂章内容', max_length=200, blank=True)
❖ created_time = models.DateTimeField(‘发布时
间',auto_now_add=True)
第⼆步:创建模型 blog/models.py-关联
❖ from django.db import models
❖ from django.contrib.auth.models import User
❖ ……
❖ class Article(models.Model):
❖ category = models.ForeignKey(Category, on_delete=models.CASCADE, ve
rbose_name='分类', default='1')
❖ tags = models.ManyToManyField(Tags, blank=True)
❖ user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_na
me='作者')
觉得不好看?-元数据改中⽂匹配
❖ class Category(models.Model):
❖ name = models.CharField('分类',max_length=100)
❖ #下⾯为新增代码,
❖ class Meta:
❖ verbose_name = '分类'
❖ verbose_name_plural = verbose_name
❖ def __str__(self):
❖ return self.name
增加字段
❖ models.py Aticles 增加字段
❖ keywords = models.CharField('⽂章关
词', max_length=120, blank=True, null=True)
❖ views = models.PositiveIntegerField('阅读量', default=0)
❖ top = models.IntegerField(choices=[(0, '否'), (1, '是'), ], default=0, verbose_n
ame='是否推荐')
❖ modified_time = models.DateTimeField('修改时间', auto_now=True)
第三步:迁移数据
❖ 数据模型设计好之后,我们就需要迁移数据到数据库。
❖ 创建模型⽂件:只是创建了⼀个对象的数据⽂件,为改动创建迁移记录;
python manage.py makemigrations
❖ 迁移数据:把表结构在数据库中建⽴,将操作同步到数据库
❖ python manage.py migrate
第四步:可以使⽤Django管理后台admin查看建⽴的应⽤
❖ 1、创建管理员帐号密码
❖ 创建⼀个管理员帐号
❖ python manage.py createsuperuser
❖ ……
❖ 2、启动开发服务器
❖ 输⼊如下命令:
❖ python manage.py runserver
Django管理后台admin
在admin下注册blog应⽤
⽅法如下:打开blog/admin.py⽂
件,加⼊如下内容:
❖ from django.contrib import admin
❖ from .models import Article,Tags,Category
❖ admin.site.register(Tags)
❖ admin.site.register(Article)
❖ admin.site.register(Category)
❖ 刷新页⾯,我们就能看到blog这个应⽤了。
Django 管理应⽤blog
❖ Django 最强⼤的部分之⼀是⾃动管理界⾯。它从你的模型中读取元数据,提供⼀个快速的、以模型为中⼼的界⾯,受信任的⽤户可以管理你⽹站上的内容。管理的推荐使⽤范围仅限于
⼀个组织的内部管理⼯具。
❖ 在admin.py中建⽴⾃动管理界⾯
❖ @admin.register(Article)
❖ class ArticleAdmin(admin.ModelAdmin):
❖ Pass
❖ (与admin.site.register(Article)相同作⽤)