2022-06-05

一、安装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)相同作⽤)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • 创建Django项⽬ ❖ django-admin startproject apitest ❖ 标题 运⾏Dja...
    A男孩i阅读 95评论 0 0
  • 2022-06-05 4 ---7 四、将数据库中数据在前台 显⽰(不是在管理员界⾯) 1、将后端数据传递回前端界...
    879ce95b335f阅读 135评论 0 0
  • Django开发现成的数据库 1.前期准备工作先做好,然后使用命令(注,终端不能使用pycharm的'tool')...
    费云帆阅读 223评论 0 0
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,066评论 0 8
  • 注:适用于 2.x 版本 1.pip 命令安装方法 pip install Django #指定版本 Django...
    华尔街的主导曲阅读 876评论 0 0