Django 从入门到精通

2018-09-27  本文已影响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
上一篇 下一篇

猜你喜欢

热点阅读