一、环境准备

安装Python、Django,pycharm。
此处不做过多描述

Django是一个MVT的架构,其实和MVC是一样的。不过Django把View作为controller使用,Templates作为view使用。

二、创建项目

1、创建工程

pycharm:File --> new Project -->选择Django
Linux命令行创建工程:django-admin startproject project_name

2、创建应用

pycharm:快捷键(ctrl+alt+r),出现命令行,如图。输入start application_name,回车(快捷键在setting-->Tool目录下找。可以直接在setting弹窗中搜索Run Manage.py Task)
Linux:(工程目录下)python manage.py start application_name

3、生效应用

将创建的应用名添加到settings.py 目录下的installed_apps下面,添加之后该应用才会生效,否则无效。

三、模型(model)

1、创建模型类

在model.py中添加模型类,和数据库交互的类必须继承于models.Model才能和关系型数据库进行交互。

2、创建迁移文件

pycharm:ctrl+alt+R 在命令行中输入makemigrations [application_name,可选,没填写则为全部],回车
Linux:python manage.py makemigrations

3、执行迁移

pycharm:ctrl+alt+r, migrate [application_name,可选,未填写则执行全部]
Linux:python manage.py migrate

4、数据操作命令

linux 环境,实际项目开发中不用。做了解

四、后台管理系统(admin)

众所周知,django是一个CMS系统,所以会自带管理后台。

1、创建超级管理员

pycharm:createsuperuser
Linux:python manage.py createsuperuser
自行填写用户名、密码

2、运行服务器

pycharm:runserver
Linux:python manage.py runserver

默认在本机的8000端口起服务,所以可以直接在浏览器访问http://127.0.0.1:8000/admin即可登录到管理后台,如下图


图中全为英文,如果想改为中文,则在settings.py文件中修改


(如何查看语言的类型:C:\Python27\Lib\site-packages\django\contrib\admin\locale)

重启服务,即中文

3、注册model类

在步骤2中,我们在后台没有看到我们之前创建的model类,需要我们在admin.py文件中注册。

然后重启服务,刷新admin页面,就可以看到咱们的model类

点击Book Infos就可以对之前创建的model类进行编辑

4、定义后台展示model类的字段

定义模板类,一般命名规范为model类+Admin,继承自admin.ModelAdmin
然后再list_display中定义要展示的字段,再在注册时,传入该类名。
重启服务,刷新页面

五、视图(view)

1、定义视图

在应用下面的views.py里面,定义一个方法,继承自request,return要返回的内容

2、配置url

在urls.py中配置视图和URL的映射关系

为了方便项目代码管理,实际项目中会在每个应用中创建一个自己的urls.py,来保存当前项目的url,然后再在工程的urls.py中引用

六、模板(templates)

1、创建模板

在工程下创建templates文件夹,然后再settings.py文件中,配置该templates文件的路径,如下图,在TEMPLATES中的DIRS配置templates文件夹的绝对路径。
在template下面,最好以application_name命名子文件夹,在子文件夹中穿件你需要的html文件。

2、渲染模板文件

在views.py文件中使用render渲染模板文件,返回参数:第一个参数为request,第二个为模板,第三个为要传的参数是dict格式。

重启服务,刷新页面,即可看到新效果。

3、带参数渲染

views.py中,读取model中的数据,为dict格式,在render中传入。
在templates中,使用{{dict-key}}的格式引用数据。

4、超链接

templates文件中添加超链接的html语句(如下),使用{% url 'url_name' %}的格式来标识 超链接的url。其中url_name是在urls.py文件中配置的。这样就可以实现超链接跳转。

<a href="{% url 'bookList' %}">图书列表</a>

【Django】入门篇:项目创建(pycharm、linux)相关推荐

  1. 第一章:Django入门篇

    文章目录 第一章:Django入门篇 一. web应用 二.HTTP协议(重要) 请求协议 响应协议 响应状态码 URL简介 三.django简介 3.2 目录介绍 3.3 启动项目 3.4 简单示例 ...

  2. [python网站开发] 一.Django入门知识及创建第一个网站

    随着Python应用越来越广泛,学习Python相关知识越来越多的人选择.最新研究,Python已成为美国top高校最受欢迎的语言,同时国内用Python开发的网站越来越多,比较知名的网站如知乎.豆瓣 ...

  3. 【CEGUI】CEGUI入门篇之创建window(四)

    以下内容翻译自http://static.cegui.org.uk/docs/0.8.7/window_tutorial.html 这里介绍CEGUI window的创建及如何让window在屏幕上显 ...

  4. Django入门-2:创建第一个Django项目

    创建Django项目 命令 django-admin startproject test1 打开 Linux 或 MacOS 的 Terminal (终端)直接在 终端中输入这些命令(不是 pytho ...

  5. vue/cli是什么?vue/cli如何使用? 入门篇(安装创建,组件使用,定义路由,项目导出) ∠( °ω°)/ 前端知识

    文章目录 简介 安装 安装nodejs nvm npm换源 单次换源 永久换源 方法一 方法二 Vue/cli安装 创建Vue/cli项目 解决常见错误 用命令行创建项目 可视化界面创建 项目目录简介 ...

  6. Django 入门篇一

    寒假时间想再考研之前再最后锻炼一下项目的水平,想用Django来开发个人博客,放弃了之前考虑的Java开发,主要是用Java开发一个轻量级的博客大材小用.最后决定用flask或者Django来完成这个 ...

  7. Linux系统入门篇(4)- Linux目录简介

    文章目录 前言 一./boot 二./boot/efi 三./ 1. /bin- 所有用户的二进制命令目录 2. /etc - 配置文件目录 3. /dev - 设备文件目录 4. /proc - 进 ...

  8. pytorch入门篇1 创建tensor

    pytorch作为一款经典的深度学习工具,几乎统治了科研/学生党在深度学习工具领域的全部江山. 从本篇博客开始,我将会陆续更新一些关于pytorch的基础用法和实战操作. 文章目录 1 Tensor简 ...

  9. Java新手小白入门篇 项目 - 深海杀手

    文章目录 潜艇游戏需求: 一.day01 二.day02 三.day03 四.day04 五.day05 六.day06 七.day07 八.day08 九.day09 潜艇游戏需求: 所参与的角色: ...

  10. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述 Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/S ...

最新文章

  1. 送外卖最强的男人!!
  2. opencv实现图像的拼接功能
  3. (转)asp和asp.net区别
  4. SpringBoot中实现连接多个Redis分别读写数据
  5. 华为交换机—RRPP协议
  6. 面试官:序列化和反序列化为什么要实现Serializable接口?
  7. mysql按字段同步_MySQL同步(一) 基础知识
  8. (王道408考研数据结构)第六章图-第四节3:最短路径之BFS算法(思想、代码、演示、答题规范)
  9. java大数据组件Zookeeper
  10. Oracle数据字典全解 (1)
  11. DE33 Relation Between Non-linear Systems and First-order ODEs
  12. jQuery幸运大转盘_jQuery+PHP抽奖程序
  13. 【语言模型系列】原理篇二:从ELMo到ALBERT
  14. Linux iptables防火墙详解(四)——配置实战
  15. net helpmsg get error message for error id in cmd script
  16. 电子技术基础数字部分课后习题答案
  17. Firefox扩展开发
  18. android吸顶效果,RecyclerVIew实现悬浮吸顶效果
  19. 使用内核模块添加系统调用
  20. 从敏思博客的倒闭事件看历史重现...

热门文章

  1. python创建数字列表_Python创建数字列表
  2. Splash 基础使用 JavaScript渲染 爬虫
  3. FL的萌新之路,开始了!
  4. 微信 小程序组件 循环
  5. 数据库原理----学习目标
  6. sqlsever2008数据库的备份与还原
  7. 单元测试Struts2Spring项目的Action和Service(包含源码)
  8. Notepad++技巧
  9. 代码生成器的存在价值 选择自 mechiland 的 Blog
  10. C++ 复制字符串/字符数组