目录:

1、安装Django

     2、创建项目

     3、创建应用

     4、创建一个页面(响应)步骤

     5、URL的第二种配置

     6、开发templates

     7、Models

     8、相关问题


1、安装django

   安装环境为win7+anaconda+python35,安装命令conda install django.

2、创建项目

(1)打开命令行(cmd),进入想要安置项目的目录(博客项目为例);

(2)命令行输入:

   django-admin startproject myblog ,若没有报错,则创建项目成功,myblog是项目名;

   可以使用django-admin可以查看所有django指令;

(3)使用pycharm打开项目工程,项目结构如下图:


   相关文件说明:

           1、manage.py 是与项目进行交互的命令行工具集的入口,也就是项目管理器

    执行python manage.py 查看manage.py中所有命令,其中有一个名为runserver的子命令用于启动服务器(django自带的小型服务器),然后可以打开网站访问项目。

    命令行输入:pythonmanage.py runserver

    然后在浏览器中输入http://127.0.0.1:8000/或者http://localhost:8000/访问页面(8000为端口号),结果如下图。如果要改变端口号的话,只需在runserver后面加上所需要的端口号。显示如下结果说明项目创建成功。(windows下cmd中使用ctrl+c中断程序。)


               2、myblog目录(与项目名相同)是项目的一个容器,包含了项目最基本的配置,目录名称默认与项目名相同,不建议修改。该目录中的文件:

   (1)wsgi.py: 全称为python web server gateway interface中文名python网关接口,是django应用与web服务器的接口,在开发过程中基本上不会用到它,最好不要改动。

   (2)urls.py:URL配置文件,Django项目中所有地址(页面)都需要我们自己去配置。

   (3)settings.py:是整个项目最核心的配置文件,是项目的总配置文件,包含了数据库、web应用、时间等各种配置。

         BASE_DIR:项目的根目录
          SECRET_KEY:安全码,项目启动必备,创建项目是自动创建该变量

   (4)__init__.py:pyhon中声明模块的文件,一般为空。


3、创建应用

创建步骤:

(1)      打开命令行,进入项目中的manage.py同级目录

(2)      命令行输入python manage.py startapp blog(注意应用名不允许与python中模块名相同)

(3)      添加应用名到settings.py中的INSTALLED_APPS里


   应用目录介绍:

   (1)      migrations模块:数据移植(迁移)模块,其中文件均为django自动生成;

   (2)      admin.py:是当前的后台管理系统配置文件;

   (3)      apps.py:是当前应用的配置文件,django1.9以后才自动生成;

   (4)      models.py:是数据模块,使用ORM模块,类似MVC结构中的models的作用;

   (5)      tests.py:自动测试模块,django提供了自动化测试功能,在这里编写脚本;

   (6)      views.py:执行相应代码所在模块,代码逻辑处理的主要地点,整个项目最主要的代码编写地方;


4、创建一个页面(响应)步骤

(1)      创建响应

   编辑views.py文件,每个响应对应一个函数,函数必须返回一个响应,函数必须存在一个参数,一般约定为request,每个响应(函数)对应一个URL

(2)      配置URL:

   编辑urls.py文件,每个URL都以url函数的形式写出来;url函数放在urlpatterns列表中;url函数有三个参数:URL(正则),对应方法、名称

(3)      在命令行输入python manage.py runserver启动服务器


5、URL的第二种配置:采用include的方法

(1)      在根目录下urls.py中引入include

(2)      在APP目录下创建urls.py文件,格式与根urls.py相同

(3)      在根目录下urls.py中的url函数的第二个参数改为include(‘app_name.urls’)

   注意:

   (1)      根目录下urls.py针对APP配置的URL名称,是该APP所有URL的总路径

   (2)      配置URL时注意正则表达式结尾符号$和/


6、开发templates(即html页面)

  Templates是html文件,使用django模板语言(DTL),也可以使用第三方模板(如jinja2)

  •   Templates创建:

(1)      在APP根目录下创建名为templates的目录

(2)      在该目录下创建html文件

(3)      在views.py中使用render()函数返回该页面

                render():一般有3个参数

      1)参数一:request(一般为默认参数);

      2)参数二:模板路径;

      3)参数三:从后台传递到前端的数据,支持一个dict类型参数,该字典是后台传递到模板的参数,键为参数名。 在模板中使用{{参数名}}来直接使用。

  •         templates冲突:

               Django查找template:Django按照INSTALLED_APPS中的添加顺序查找templates, 不同APP下templates目录中的同名.html文件会造成冲突;

               解决方案:在APP的templates目录下创建以APP名为名称的目录,将html文件放入新创建的目录下;


7、Models:

        通常,一个model对应数据库的一张数据表,django中models以类的形式表现,它包含了一些基本字段以及数据的一些行为。

        ORM:对象关系映射(objectrelation mapping)实现了对象与数据库之间的映射,隐藏了数据访问细节,不需要编写SQL语句。

  •    Models创建:

        (1)在应用根目录下创建models.py,并引入models模块(django在创建应用时自动实现)

        (2)创建类,继承models.Model,该类即是一张数据表

        (3)在类中创建字段,字段即类里面的属性。

  • 生成数据表:

        (1)命令行进入manage.py同级目录

        (2)执行pythonmanage.py makemigrations app名(可选)进行数据迁移

        (3)在执行Pythonmanage.py migrate

  •  创建完数据表之后查看:

        (1)Django会自动在app/migrations/目录下生成移植文件

        (2)执行pythonmanage.py splmigrate 应用名文件id 查看SQL语句

        (3)默认的splite3的数据库在项目根目录下db.sqlite3

  •  查看并编辑db.sqlite3

        使用第三方软件SQLiteexpert personal 轻量级免费

  •  页面呈现数据:

        在views.py中import models

        获取数据对象(即数据表)

            通过render将参数三将数据传递到前端



8、相关问题:

   (1)在Django中如何正确完整地删除一个App

(2)  django中添加js、css、图片等外部文件的方法

(3)django中如何从views.py中将python的list或dict传递到前端,并显示字典或列表中的内容?

 

  搜索:django在view中传递一个字典给模板(template),如何在模板中遍历字典呢或单独提取某个元素?

  搜索:Django的模板,传递 list,如何提取 list 中的某个元素而不是遍历?

   回答:{{xxx.1}}#1代表索引,xxx代表list

参考资料:











https://wap.sciencenet.cn/blog-3360373-1095470.html

上一篇:数据结构之排序二(python实现)
下一篇:linux常用命令