[转帖]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 ...
随机推荐
- Mybatis源码1JDBC->mybatis主要流程->mybatis Excutor简介
=== 一丶mybatis概述 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.My ...
- 在Mac上打开Emoji键盘 ⌨️
因为想要输入Emoji字符,以前总上到网上搜,如 emojipedia.org ,然后复制.最近,输入Emoji有点多,就想查查有没有什么简便方法. 果然有,我用的是macOS,只要按下键盘上的 co ...
- AI 图像自动补全 Uncrop 工具介绍
ClipDrop Uncrop是一款基于AI的图像自动补全工具,由StabilityAI旗下的Clipdrop开发.通过利用StableDiffusionXL开发的算法和深度学习技术,Uncrop可以 ...
- 什么是MircoPython?
摘要:互联网玩家为了让Python这样的容易学,简单易学.社区API丰富的语言可以在嵌入式领域用上,逐渐开始了一轮Python上嵌入式的迁移,这样就有了今天的主角--MircoPython. 本文分享 ...
- Apache Superset 1.2.0教程 (一)—— 安装(Windows版)
Apache Superset 是一款由 Airbnb 开源的"现代化的企业级 BI(商业智能) Web 应用程序",其通过创建和分享 dashboard,为数据分析提供了轻量级的 ...
- 当OLAP碰撞Serverless,看ByteHouse如何建设下一代云计算架构
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为云计算的下一个迭代,Serverless 可以使开发者更专注于构建产品中的应用,而无需考虑底层堆栈问题.伴随着 ...
- Axure 二维码扫码
基础布局 1.一个300X395的黑底黑框矩形,不透明度为20%,命名为"背景框": 2.一个150X150的白底白框矩形,不透明度为70%,命名为"扫描框": ...
- 成为一个合格程序员所必备的三种常见LeetCode排序算法
排序算法是一种通过特定的算法因式将一组或多组数据按照既定模式进行重新排序的方法.通过排序,我们可以得到一个新的序列,该序列遵循一定的规则并展现出一定的规律.经过排序处理后的数据可以更方便地进行筛选和计 ...
- c#-微软
1)使用c#编写第一个程序简介: c#编程语言允许你构建多种类型的应用程序,例如: 用于捕获,分析和处理数据的业务应用程序 可从Web浏览器访问的动态Web应用程序 2D和3D游戏 金融和科研应用程序 ...
- RabbitMQ--工作模式
单一模式 即单机不做集群 普通模式 即默认模式,对于消息队列载体,消息实体只存在某个节点中,每个节点仅有 相同的元数据,即队列的结构 当消息进入A节点的消息队列载体后,消费 者从B节点消费时,rabb ...