美文网首页
Django 从入门到精通

Django 从入门到精通

作者: 一只酸柠檬精 | 来源:发表于2018-09-27 09:10 被阅读329次

    Django简述

    Django是一个[开放源代码]的[Web应用框架],由Python写成。采用了MVC的[软件设计模式],即模型M,视图V和控制器C。它最初是被开发来用于管理[劳伦斯]出版集团旗下的一些以新闻内容为主的网站的,即是CMS([内容管理系统]软件。并于2005年7月在[BSD许可证]下发布。这套框架是以比利时的[吉普赛]爵士吉他手DjangoReinhardt来命名的。

    1.Django 快速入门

    1.1 Django 的下载安装

    目前 Django 大的版本有两个分支:

    ➢ 1.x 版 稳定成熟的版本,目前企业都使用的这个大版本
    ➢ 2.x 版 18 年刚刚出现,目前不够稳定,建议可以简单的学习学习

    选择适合自己的版本下载:

    pip install django==1.8.2
    pip install Django==2.0.3
    pip install django

    检测是否下载成功
    1.cmd
    2.django-admin --versio

    2.第一个Django

    2.1创建项目

    首先给Django一个工作空间(项目的存放位置,不建议c盘)

    执行 django-admin startproject 项目名称
    该命令就是创建一个 Django 项目的意思
    django-admin startproject mysite

    创建完成后我们可以查看下项目的目录结构:

    |-- mysite/                  
         |-- mysite/               
             |-- __init__.py        
             |-- settings.py      
             |-- urls.py            
             |-- wsgi.py      
         |-- manager.py         
    
    目录说明:
    mysite: 项目的容器。
    manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 
    mysite/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
    mysite/settings.py: 该 Django 项目的设置/配置。
    mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
    mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
    
    
    

    2.2 启动项目前的一些操作

    2.2.1

    在项目启动成功后,网页默认支持的字体是美式英语,我们需要修改
    mysite/settings.py下LANGUAGE_CODE

    1.LANGUAGE_CODE = 'en-us(美式英语)
    2.LANGUAGE_CODE = 'zh-Hans'(中文简体)

    2.2.2

    Django 项目如果需要使用特定的 ip 地址访问,则需要在 setting.py 配置文件中的 ALLOWED_HOSTS 配置中加入对应的 ip 地址。

    向ALLOWED_HOSTS列表中添加特定的IP地址
    或者改为”*“默认所有

    ALLOWED_HOST=["192.168.13.29"]
    ALLOWED_HOSTS = ["*"]

    2.3启动项目

    1.cd mysite
    2.python manage.py runserver
    出现如下界面说明启动成功


    image.png
    image.png

    python manage runserver 命令的参数问题,默认我们可以不加参数,则参数默认,但 是在有时候我们需要加参数,如:

    1、 默认 Django 项目占据 8000 端口,如果我们需要修改,则在命令后直接加上端口号:
    python manage.py runserver 9999

    2、 指定特定的 ip 和端口完成访问 Python manage.py runserver 192.168.10.145:9000

    3.创建一个根模块视图

    Django 提供了完善的模块划分功能,所以我们很少在根项目下创建视图,但是我们刚 刚开始,可以先在根项目下创建视图来学习下。 首先进入到根项目下,创建一个 views.py 文件。

    views.py:

     from django.http import HttpResponse 
     def index(request): 
         return HttpResponse("<h1>hello Django,I coming</h1>")  
    

    完成视图函数的编写后,需要在路由配置文件(urls.py)中配置路由,
    url.py:

    
    from django.conf.urls import url 
    from django.contrib import admin 
     
    # 导入视图文件
    from . import views 
     
    urlpatterns = [ 
          url(r'^admin/', admin.site.urls),
     # 配置路由信息,当用户访问 index 路径时,则表示有 views.index 函数类处理  
          url(r"^index/",views.index,name="index"),
     ] 
    
    

    启动项目,在地址栏输入:http://192.168.10.145:9000/index/

    image.png
    成功

    4. 创建一个模块应用

    首先进入到项目的主目录中来,之后执行 Django-admin startapp 模块名称

    django-admin startapp blog
    如:


    image.png

    完成后,项目结构如下:

    |--mysite/ 
    |-- mysite/  
    |-- manage.py  
    |-- blog/                     # 模块应用目录     
        |-- migrations/           # 数据库数据持久化配置     
        |-- admin.py              # 后台管理操作文件    
        |-- apps.py               # 应用名称配置文件   
        |-- models.py             # 应用模型类定义文件     
        |-- tests.py              # 应用功能测试文件  
        |-- views.py              # 应用视图文件  
    

    模块创建完成后,Django 根项目还不知道新增加了一个模块,所以需要我们将新创建 的模块告诉根项目,打开根项目模块下的 setting.py 文件,找到 INSTALLED_APPS 选项:

    INSTALLED_APPS =[    
     'django.contrib.admin',   
     'django.contrib.auth',  
     'django.contrib.contenttypes',  
     'django.contrib.sessions', 
     'django.contrib.messages',  
     'django.contrib.staticfiles', 
     # 告诉根项目,我新增了一个模块 
     'blog', 
    ] 
    

    现在,模块应用创建完毕,并且正常添加到了 Django 项目中了。以后我们开发项目, 其实在是在不同的模块上开发,根项目只是作为管理整体项目存在,我们不会再在根项目上创 建视图和视图函数了

    5.创建模块中第一个视图处理函数

    打开 myblog/views.py 视图处理文件,添加视图处理函数如下:

    from django.shortcuts import render 
     
    from django.http import HttpResponse 
     
    def index(request):  
          print("博客首页")  
          return HttpResponse("<h1>博客首页</h1>") 
    

    在模块目录下创建一个新的 urls.py 文件,用来完成模块本身的路由配置:

     from django.conf.urls import url 
     
    from . import views 
     
    urlpatterns = [ 
           url(r"^index/$",views.index,name="index"), 
    ]  
    

    上面我们是在模块本身中进行的路由配置和视图对应函数,等完成这些配置后,我们需 要通知根项目,将我们的配置添加到根项目中去,在根项目的 urls.py 文件中配置,如下

    from django.conf.urls import url 
    from django.contrib import admin
     from django.conf.urls import include 
     
    # 导入视图文件 
    from . import views 
     
    urlpatterns = [    
           url(r'^admin/', admin.site.urls), 
           url(r'^blog/',include("blog.urls")), 
           url(r"^$",views.index,name="index"), 
    ]  
    

    至此,项目配置结束,启动项目。 测试代码: 项目运行之后,打开浏览器,再次访问 http://localhost:9000,出现项目默认页面

    image.png
    再次访问 http://localhost:9000/blog/index,出现博客应用页面
    image.png

    相关文章

      网友评论

          本文标题:Django 从入门到精通

          本文链接:https://www.haomeiwen.com/subject/sbbjoftx.html