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

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

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

Django入门学习(二)

创建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

 

 

Django入门学习(二)                        Django入门学习(二)


创建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中的数据库

Django入门学习(二)

输出hello world

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


     

 

Django入门学习(二)

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

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

Django入门学习(二)

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

Django入门学习(二)

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

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

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

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

Django入门学习(二)

浏览器打开:localhost:8000

显示hello world

Django入门学习(二)

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

Django入门学习(二)

首页显示不了

Django入门学习(二)

地址变成了:blog/index

Django入门学习(二)

 

再试

Django入门学习(二)

Django入门学习(二)

说明地址:

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

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

 

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

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

      在settings:

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

Django入门学习(二)

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

Django入门学习(二)

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

Django入门学习(二)

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

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

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

这里就要用到变量了

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

具体如下:

 

Django入门学习(二)

Django入门学习(二)

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

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

 

如何加载图片到网页

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

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

Django入门学习(二)            

 

Django入门学习(二)      

Django入门学习(二)

tips:不用默认端口8000

Django入门学习(二)

Django入门学习(二)

 

相关文章:

  • 2021-11-06
  • 2021-11-12
  • 2021-08-20
  • 2022-12-23
  • 2021-12-24
  • 2021-11-16
  • 2022-01-02
  • 2021-10-26
猜你喜欢
  • 2021-06-11
  • 2021-06-30
  • 2021-12-22
  • 2021-10-31
  • 2021-08-04
  • 2021-10-31
相关资源
相似解决方案