Django架构说明-创新互联

Django采用了MVT的软件设计模式,即模型M,业务代码V和模板T。

在莱山等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需定制设计,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,成都外贸网站建设,莱山网站建设费用合理。

本文介绍了Django运行的基本配置。

一、构建简单的MVT模型(三个文件夹,存放三种不同类型的文件):

1、目录:

models:存放数据库模型目录

template:存放模板文件目录

views:存放控制代码目录

二、Django基本说明:

1、安装:把python目录添加到系统的环境变量

pip install Django        //使用python的pip命令安装Django

注意:

1)、安装的时候会提示报错,提示“timeout”,原因:下载地址速度太慢,换在国内地址

 pip install Django -i https://pypi.tuna.tsinghua.edu.cn/simple

**永久更换下载源地址:

-  linux下,新建/修改/.pip/pip.conf文件,添加下列内容

                    [global]                                         timeout = 300                     index-url = https://pypi.tuna.tsinghua.edu.cn/simple                     [install]                     trusted-host = tsinghua.edu.cn

  - Windows下,在文件夹浏览窗口输入%USERPROFILE%,新建\pip\pip.ini,添加下列内容:

                                    [global]                                                                         timeout = 300                                     index-url = https://pypi.tuna.tsinghua.edu.cn/simple                                     [install]                                     trusted-host=tsinghua.edu.cn

2)、安装时提示“No module named pip”

原因有二,1、没有安装pip,如果使用python.exe安装,把python主目录下的Scripts添加到环境变量

2、Windows10下,右键使用管理员权限运行cmd

3)、pip下载下来的包直接存在python主目录下的Scripts下,而Scripts目录添加到了环境变量,所以安装后,可以使用django这个命令确认安装状态

2、使用manager.py新建项目:把Django目录添加到系统环境变量

新建项目时,Django自动创建项目的目录:

-项目名:

-manage.py:命令行管理工具,提供了与Django交互的接口。

常用命令,startapp name新建APP、makemagrations、migrate(Django的ORM)

-项目包名:以项目包命名的容器,主要实现配置和和管理功能。

-__init__.py:代表python一个包,python2.0必须有,才能代表是一个包,python3可以没有

-settings.py:项目的配置文件,配置静态文件地址和

-urls.py:配置网站目录,指定网址转向哪个文件。

-wsgi.py:一个 WSGI 兼容的 Web 服务器的接口,以便运行你的项目。它定义了TCP连接、HTTP原始请求和响应格式。

django-admin.exe startproject mysite        //新建项目,名为mysite

3、启动项目:启动后就可以使用web浏览器访问该网站

cd mysite               //进入mysite目录 python manage.py runserver 127.0.0.1:8000       //可以省略ip:port,默认本机ip和8000端口,也可指定ip:端口

4、创建一个APP:

   APP:相当于整个网站的一个模块。比如:主站(index)\BBS\BLOG\Video\News等等,每一个都是一个独立的页面或功能。

python manage.py startapp blog            //新建一个名字是blog的APP

新APP默认目录:

-migrations包:修改数据表结构

-__init__:代表APP是个包。。。

-apps.py:配置当前App

-models.py:ORM,写指定的类,通过命令可以创建数据库结构。

-tests.py:单元测试

-views.py:业务代码,存放后台处理的代码。

#配置urls.py指定网址访问的页面。APP要导入到views文件 import blog.views #在urlpatterns列表添加下面值 url(r'^blog',blog.views.login),

5、templates和static文件夹:新建项目后需要创建这两个文件夹。

templates:存放.html类型的模板文件,在urls.py中可以更改设置

static:存放静态文件,比如JS/jQuery/CSS类型的文件,在settings.py中设置才能正常被使用。

根据个人喜好设置,可以在每个APP下设置,也可在manage.py同级目录设定通用的static,

以上两个文件夹创建后的设置:

#增加settings.py文件templates的设置: TEMPLATES = ['DIRS': [os.path.join(BASE_DIR,'templates')]]   //修改dirs的值,指定为主目录下的templates文件夹 #增加settings.py的static目录的设置 STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'),)

6、几个错误:

1)、form请求错误,原因:form里的action带/,django里的urls地址路由没带/,只在django框架里的错误,

解决方法,两处/都删掉或都加/

2)、运行csrf错误,注释掉csrf行,以后会对csrf进行设置 

3)、指定全局static目录后,无法加载CSS样式,提示Resource interpreted as Stylesheet but transferred with MIME type application/x-css

#html加载的CSS文件 #解决方法:在html首行加 {%load static%} #如果不想每次在模版中加载静态文件都使用load加载static标签,那么可以在settings.py中的TEMPLATES/OPTIONS添加'builtins':['django.templatetags.static'],这样以后在模版中就可以直接使用static标签,而不用手动的load了。'django.contrib.auth.middleware.AuthenticationMiddleware',

三、总结一个完整的HTTP请求过程:

Django架构说明

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Django架构说明-创新互联
网页URL:http://pwwzsj.com/article/jdjdj.html