Django入门学习(二)

学习视频:https://www.bilibili.com/video/av18586413

https://www.bilibili.com/video/av18589369?t=509&p=2

这个视频是Django1.x的,和2.0有点区别,但是差别不大

创建django项目:
      指定路径
      django-admin startproject 项目名称


目录解读:
第一个mysite------------------这是总的项目文件夹
         mysite--------------                
             __init__.py-----空文件夹,仅用来声明当前的mysite文件夹为一个模块,有了这个就可以
                             在其他文件导入该文件夹下的文件,如import mysite import 
                             settings   
             settings.py-----项目的配置文件
             urls.py---------总的路由声明
             wsgi.py---------和web服务(如apache,nginx)配合使用的配置文件
         manage.py-----------和创建好的项目进行交互的一个命令行管理工具


创建了一个APP之后,要记得把它写到INSTALLED_APPS中


开启项目:
      进入到项目的路径
      python manage.py runserver
      开启的是一个本地测试服务器,压力负载很小


settings:(不用自带数据库,改用mysql)
        DATABASES:
                'ENGINE':'django.db.backends.mysql',
                'USER':用户名
                'PASSWORD':密码
                'HOST':数据库主机地址
                'PORT':数据库访问端口


admin:
      django项目提供的一个后台数据库管理界面


数据库生成命令:
     makemigrations:执行检查数据库差异,生成迁移文件
     migrate:根据迁移文件生成对应的SQL语句,更新数据库
     django默认自带了一些数据库内容


创建后台管理界面的超级用户:
     python manage.py createsuperuser


时区和语言设置:(setting.py中)
     LANGUAGE_CODE = 'zh-Hans'
     TIME_ZONE = 'Asia/Shanghai'


     
     











 

创建app:blog

 

 

                        


创建APP:
     执行python manage.py blog
     目录下多了一个文件夹
     blog   --------------APP文件名
          __init__.py--------声明当前文件夹是一个模块,可以在别的地方import这个文件夹的文件  
          admin.py--------   该APP的数据库如果希望被后台看到,需要在这个文件下进行注册 
          models.py----------创建该APP下可能使用到的数据库
          tests.py------------实现某些测试驱动
          views.py-----------实现对应功能的函数,django页面你在访问的时候,其实都是在访问这个
                             视图函数,调用里面的具体函数实现相应功能



 

创建了一个APP之后,要记得把它写到setting.py文件的INSTALLED_APPS中

这样django才能使用到这个app中的数据库

输出hello world

视图函数:
      HttpResponse:该函数给用户返回一个html字符串
      写完了视图函数一定要记得给它配置路由url
      配置路由:
             --总路由找到APP
             --APP路由找到视图函数
             --视图函数显示页面


     

 

但是还是不能访问到index这个页面,因为还需要配置路由

1、在blog目录里面新建一个urls文件

2、在总文件夹中添加子文件夹blog的路由地址

一、在首页(127.0.0.1:8000)显示hello world

修改总文件夹mysite下的总路由文件urls.py

修改子APP--blog下面的urls.py

修子APP--blog的视图函数views.py

浏览器打开:localhost:8000

显示hello world

2、在其他地址(比如:127.0.0.1:8000/blog/index)显示hello world

首页显示不了

地址变成了:blog/index

 

再试

说明地址:

如果URL为空,默认首页显示

如果随便填,则为 首页+主文件夹mysite的urls.py设置的地址+子APP文件夹blog的urls.py设置的地址

 

以上是返回了一个简单的字符串hello world,那么如何用views返回HTML页面??

      创建一个名为templates的文件夹保存相关的html页面

      在settings:

                       'DIRS': [
        os.path.join(BASE_DIR, 'templates'),                
        ],

        通过render函数,可以返回一个html页面

结果显示果然返回了index这个html文件

那如果要显示 今天天气不行呢??

当然一种方法就是改前端页面index.html了,将里面的‘’今天天气还行‘’改为‘’今天天气不行‘’

这样肯定不方便,有没有一种只改后端,不用管前端的方法?

这里就要用到变量了

HTML页面动态生成内容:
      HTML写模板变量, {{ today }}
      render函数返回一个模板变量的字典,key只是变量的名字,value是对应的内容

具体如下:

 

只需要该views.py里面的函数即可,不用去动前端页面了

这就实现了前后端的分离,只需要在后端改数据就可以实现前端的不同内容

 

如何加载图片到网页

blog新建一个文件夹static,放置静态资源(如图片,音频等等)

然后在settings.py里面将路径添加一下

           

 

      

tips:不用默认端口8000

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Yi

老板行行好,打赏一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值