[转帖]Python学习之十七_django的入门
Python学习之十七_django的入门
前言
Python学习了一周, 慢慢总结摸索.
自己还是有多不会的地方.
感慨这些年浪费的时间.
所有的时间都是选择大于努力.
努力最多感动自己. 生活是需要的是正确的选择.
平凡的实在人太难在一个固化的社会生存.
共勉.
安装
因为安装的是社区版.
所以与专业版不太一样.
这次学习主要是依靠知乎和CSDN作者的文档.
感谢原作者的付出:
https://www.zhihu.com/people/xiao-hui-er-12-30
https://blog.csdn.net/weixin_47197906
Pycharm社区版下载就可以了.
然后可以安装python的版本. python 设置为 local interpreter.
需要注意. 命令行进行操作. 和在pycharm里面进行操作可能使用了不同的python环境.
如果在自己的cmd 里面运行命令, 最好是在外部也安装一下 对应的pip组件.
pip install django
创建django的项目
在pycharm的左下角的 Terminal
mkdir f:\django
cd f:\django
django-admin startproject django_study
cd django_study
python manage.py startapp djangoweb
然后使用python打开这个project 就可以.
文件目录结构
django_study
├── django_study
│ ├── asgi.py
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── djangoweb
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
└── manage.py
文件目录结果说明
最上一层的 django_study 是项目名称. 理论上是可以改名的.
第二层的 django_study 是创建项目时形成的 主应用 名不能修改.
第二层 django_study 目录内的 setting.py 是环境配置需要的.
第二层 django_study 目录内的 url.py 是进行url 路由设置的.开放部分请求界面
第二层 django_study 目录内的 wsgi.py 是网络通信接口.
第二层的 djangoweb 是创建的一个从属app
一个项目内可以有多个app. app 可以根据应用模块类型进行拆分.
第二层 djangoweb 目录内的
各个文件说明如下:
(1)migrations:这是一个目录,用于存储应用的数据库表结构的指令,
通过这些指令可以修改和创建数据库,从而实现models.py模型类和数据库表之间迁移。
(2)admin.py:自定义Django管理工具,比如设置在管理界面能够管理的项目,
或者通过重新自定义与系统管理有关的类对象,向管理功能增加新的内容。
(3)apps.py:Django1.10之后增加的,通常包含对应用的配置,比如为管理功能提供一个合适的应用名称。
(4)models.py:这是应用的数据模型,每个Django应用都应当有一个models.py文件,
虽然该文件可以为空,但不宜删除。
(5)tests.py:在这个文件中可以编写测试文档来测试所创建的应用。
(6)views.py:这是一个重要的文件,用于保存响应各种请求的函数或者类。
如果编写的是函数,则基于函数的视图;如果编写的是类,则称为基于类的视图。
views.py就是保存函数或者类的视图文件。当然,也可以用其他的文件名称,只不过在引入相应函数或者类时,
要注意名称的正确性,views.py是我们习惯使用的文件名称。
django的框架简介
jango是一款python的web开发框架,属于MTV框架。
m 表示model,负责与数据库交互。数据存取层,模型是网站项目的基础,
主要负责处理与数据相关的事务,如读取、写入数据等。
v 表示view,是核心,负责与用户的逻辑交互,业务逻辑层,
包含存取模型及调用相应模板的相关逻辑,是M和T的桥梁,在Django得到用户的请求后,
根据URL映射关系调用相应的视图,视图则调用和处理有关数据。
与模板相比,视图确定访问者能看到哪些数据,而模板确定怎么看到这些数据。
t 表示template,显示层,负责显示页面,处理与表现有关的事务。
From https://blog.csdn.net/weixin_47197906/article/details/124866771
服务启动
cd F:\django\django_study
python.exe .\manage.py runserver
就可以拉起来服务
hello world 的设置
在 djangoweb的 views.py 里面添加代码:
from django.http import HttpResponse
def index(request):
return HttpResponse('济南小老虎欢迎你!')
在将主应用里面的 urls.py 增加或者修改为如此状态
from django.contrib import admin
from django.urls import path
from djangoweb import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index)
]
再次拉起来服务
python manage.py runserver
就可以通过 127.0.0.1:8000/index
来访问了.
[转帖]Python学习之十七_django的入门的更多相关文章
- python学习之“切片操作从入门到精通”
在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...
- python 学习笔记十七 django深入学习二 form,models
表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...
- python学习第十七天 --定制类
何为定制类? Python的class允许定义许多特殊方法,可以让我们非常方便地生成特定的类.在类中应用或者重写python的特殊方法,得到的类,就是定制类. 大家都知道print的用法.见下面例子 ...
- Python学习(十七)—— 数据库(二)
转载自http://www.cnblogs.com/linhaifeng/articles/7356064.html 一. 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中, ...
- Python学习札记(十七) 高级特性3 列表生成式
参考:列表生成式 Note 1.List Comprehensions,即列表生成式,是Python中内置的非常强大的list生成式. eg.生成一个列表:[1*1, 2*2, ..., 10*10] ...
- python学习(十七) 扩展python
c, c++, java比python快几个数量级. 17.1 考虑哪个更重要 开发速度还是运行速度更重要. 17.2 非常简单的途径:Jython和IronPython Jython可以直接访问JA ...
- python学习笔记十七:base64及md5编码
一.Python Base64编码 Python中进行Base64编码和解码要用base64模块,代码示例: #-*- coding: utf-8 -*- import base64 str = 'c ...
- Python学习日记(十七) os模块和sys模块
os模块 1.os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) #C:\Users\Administrator\ ...
- python学习三十七天函数的作用域查找顺序LEGB
python函数的作用域查找顺序LEGB,分别为 locals eclosing globals builtins .了解作用域的范围,可以更好的操作你想要的业务,分别介绍一下. 1,local ...
- python学习第二十七天函数的return返回值
python函数返回值用的return ,函数遇到return 结束函数运行过程,终止程序,不论后面还有多少个输出,都终止本次函数,所有一定要慎重用return 1,函数return用法 def go ...
随机推荐
- .NET开源、强大的Web报表统计系统
前言 今天分享一个.NET开源.强大的Web报表统计系统:CellReport. 项目官方介绍 CellReport 诞生的初衷是为了解决日常快速制作统计报表的需要. CellReport 是一个为复 ...
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 15.创建持续效果BUFF
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本篇文章对应Lecture 18 – Creating Buffs, World Interaction, 71 ...
- 储存入redis并且将次数进行+1
// 储存入redis并且将次数进行+1stringRedisTemplate.opsForValue().increment(RedisKey.LOGIN_FATL_NUM + "1348 ...
- 即使不会node.js,拖拽就可完成数据的可视化展示
摘要:node-red是一款基于Node.js的开源可视化界面开发工具,不需要掌握node.js而通过拖拽即可完成数据的可视化展示. 1.首先看一下node-red对数据的渲染效果 你可能认为,必须熟 ...
- 云图说丨云数据库GaussDB(for MySQL)事务拆分大揭秘
摘要:数据库代理提供事务拆分的功能,能够将事务内写操作之前的读请求转发到只读节点,降低主节点负载. 本文分享自华为云社区<[云图说]第270期 云数据库GaussDB(for MySQL)事务拆 ...
- 终于搞懂了Python模块之间的相互引用问题
摘要:详细讲解了相对路径和绝对路径的引用方法. 在某次运行过程中出现了如下两个报错: 报错1: ModuleNotFoundError: No module named '__main__.src_t ...
- 总是记不住java的IO流用法?用N个问题教你掌握java IO流
摘要:Java IO 体系看起来类很多,感觉很复杂,但其实是 IO 涉及的因素太多了.在设计 IO 相关的类时,编写者也不是从同一个方面考虑的,所以会给人一种很乱的感觉,并且还有设计模式的使用,更加难 ...
- SPL:跑批有这么难么?
摘要:SPL实现了更优算法,性能远远超过存储过程,能显著提高单机计算效率,非常适合跑批计算. 本文分享自华为云社区<Java开源专业计算引擎:跑批真的这么难吗?>,作者: Java李杨勇. ...
- 云图说 | 华为云医疗智能体EIHealth,AI赋能基因组研究
摘要: 华为云医疗智能体面为基因组研究,提供高性能.高可靠性.高性价比的基因测序计算.存储和AI能力. 本文分享自华为云社区<[云图说]第230期 医疗智能体:AI赋 ...
- 将MyBatis Mapper xml 放到 jar 包外面
在不改程序的情况下,修改 sql 时,需要将 Mapper 中的 XML 文件 放到外面 mybatis: mapper-locations: classpath:mapper/*.xml #J ...