首页 > 其他分享 >django安装项目 app流程

django安装项目 app流程

时间:2024-03-14 15:33:06浏览次数:19  
标签:manage -- 创建 app py request django 流程

#django版本问题

 

1..x  2.x     3.x(直接忽略)

1.x 和2.x本身差距也不大  我们讲解主要以1.x为例 会讲解2.x区别 公司之前用的1.8 慢慢过渡到了1.11版本 有一些项目用的2.0

#django安装

pip3 install django==1.11.11  

 

在Python中 设置里找jango 不要直接安装 需要选择1.11.11版本再安装

如果已经安装了其他版本 无需自己卸载 直接重新装会自动卸载安装新的

验证是否成功的方式一:终端输入django-damin看看有没有反应

 如果版本过旧可以换源 使用阿里源或者清华源:

pip install django==1.11.11 -i https://mirrors.aliyun.com/pypi/simple/
# 或者
pip install django==1.11.11 -i https://pypi.tuna.tsinghua.edu.cn/simple/

 

django基本操作

 

一、#命令行操作

1.创建django项目

你可以先切换到对应的盘如何再创建

django-admin startproject mysite(项目名)  创建好之后应该是在c盘下

django-admin startproject mydjangoproject

 

创建好以后搜索django出来是这样的:

  mysite文件夹

  manage.py

       mysite文件夹

    __init__.py

    settings.py

    urls.py

    wsgi.py

 

 

#pycharm操作

示例:https://blog.csdn.net/ydydyd00/article/details/80746099 

pycharm操作

  1.new project 选择左侧第二个django即可(在安装django后之后 且关闭了其他django)

    选择是否用虚拟环境,路径需要宣导和环境变量中路径一致,一直点到有Python.exe为止

  2.启动

    点击manage.py,在右上角下拉选择Edit configurations出现框,在Parameters写runserver 0.0.0.0 8000 再选择相对于的解释器,点击Apply,再点击OK

    2.点击绿色小箭头启动即可

  3.创建应用app

    1.pycharm提供的终端直接输入完整命令:Python3 manage.py startapp  app01(APP的名字,需要见名知意)

    2.pycharm tools run manage.py task提示(输入startapp app01  前期不建议使用)

     创建server    edit confl......

 

 

命令行与pycharm创建的区别

1.命令行创建不会自动有templatew文件 需要你自己手动创建而pycharm会自动帮你创建并且还会自动在配置文件中配置对应的路径

#pycharm创建

TCMPLATES=[

  {

    'BACKEND':'django.template.backends.django.DjangoTemplates',

    'DIRS':[os.path.join(BASE_DIR,'templates')]

}

#命令行创建

  TEMPLATES=[

  {

    'BACKEND':'django.template.backends.django.DjangoTemplates',

    'DIRS':[],

]

对比之下 命令行创建少了一部分  也就意思为你在用命令行创建django项目的时候不单单需要创建templates文件夹还需要去配置文件中配置路径:'DIRS':[os.path.join(BASE_DIR,'templates')]

2.启动django项目

创建好之后一定要先切到项目目录下:cd/mysite

通过manage.py启动再terminal中敲

命令行启动①python3 manage.py runserver  http://127.0.0.1:8000    #django端口号是8000

或者python3 manage.py runserver 8080默认是监听本机127.0.0.1(别人访问不到的方式),以后再项目上线时用0.0.0.0的比较多   ctrl+c是停止

pycharm启动② 右上角 点开写项目名 监听端口号  监听地址 ✓上中间第一个

 

 

 

django中默认情况下socket用的是wsgiref(自己写的web框架)

 

 

 

 

3.创建应用app

Python3 manage.py startapp  app01(APP的名字,需要见名知意)

应用:django是一款专门用来开发APP的web框架,不是手机的那种APP,django框架类似于是一所大学,APP就类似于大学里面的各个学院,一个APP就是一个独立的功能模块

停掉:shift+c

4.创建的应用一定要去配置文件中注册   创建出来的应用第一步先去配置文件中注册 其他的先不要做 在settings.py  配置文件中 找到INSTALLED_APPS=.....中增加'app01.apps.App01Config'(全写)或者'app02'(简写)

ps:你在用pycharm创建项目的时候  pycharm可以帮你创建一个APP并且自动注册

 

 

 

 

 

主要文件介绍

--mysite 项目文件夹

--mysite 文件夹

  --settings.py  配置文件

 

  --tests.py测试相关 不用管

  --wsgi.py wsgiref模块(不考虑)

--manage.py  django的入口文件

--db.sqlite3  django 自带的sqlite3数据库(小型数据库 功能不是很多还有bug)

-day 60 项目名

--app01  文件夹app的名字

  --admin.py django后台管理

  --apps.py  注册使用

  --migrations  文件夹 数据库迁移记录

--wsgi.py   wsgi服务器的配置,以后上线了才改

  --models.py   数据库相关的 模型类(orm)

 --urls.py  路由与视图函数对应关系(路由层)

  --views.py视图函数 重点

  --templates  模板文件

  --manage.py  启动项目创建app 各种命令的操作都跟他有关

 

 

二、

 

 

 

django小白必会三板斧

导入:from django.shortcuts import HttpResponse,render,redirect

  HttpResponse 返回字符串类型的数据

  例如:

    def index(request):

      #param request:请求相关的所有数据对象  比你之前的env更加牛

      #return:

      return HttpResponse("你好啊  我是django")

  render 返回html文件的

      return render(request,'myfirst.html') #自动去tempaltes文件夹下帮你查找文件 前        提是有添加到配置文件中

    例如:

    def index(request):

      username_dict={'username':'zhu','age':18}#视图函数必须要要接受一个形参request

      #第一种传值方式

      return render(request,'传值的目的文件01 ab-render.html',{'data':user_dict,'data':123})

就是将user_dict传给ab_render页面 页面上通过data就能拿到字典数据

      #第二种方式:当你要传的数据特别多的时候

    def index(request):

      username_dict={'username':'zhu','age':18}

      return render(request,'01 ab_render.html',locals())

      Locals会将所在的名称空间中所有的名字全部传递给HTML页面

redirect 重定向 

return redirect('http://www.baidu.com/')  其他url需要写全

retunrn redirect('/home/')自己的不用写ip和端口

 

配置文件讲解:

 路由简单入门:

1.地址和视图函数的映射关系---urls.py文件

urlpatterns列表

 2.现阶段使用

 复制一行 改一下第一个参数(正则表达式),第二个参数是视图函数内存地址(需要导入相对应的文件信息例如:from app01 import views)

 

一、视图函数

request必须传,约定俗称都用request

request是个对象,请求的对象,请求过来是符合HTTP请求协议的数据包(字符串)

      视图函数一般是写在views.py下(可以不放在里面 )

def index(request):

  return HttpResponse('ok')

 

1. 通过print(request.method) 来判断请求是post还是get请求

例如:

def index(request):

  print(request.method) 

  return HttpResponse('ok')

 

2.请求参数 get请求这种形式:http://127.0.0.1/index?name=zz&age=18

print(request.GET)      也可以把他当成字典

#print(request.GET.get('name'))

#print(request.GET.['name'])      可能会报错推荐使用上一个

#print(request.GET.get('age'))

3.post形成提交的数据(数据放在请求体中 ,body体)

print(request.POST)        把它结果当成字典

二、视图函数之响应对象

三件套:

1.HTTPResponse:返回字符串形式

2.返回模板文件:render 本质是函数 函数返回值还是HTTPReponse的对象

3.重定向:redirect

 

 

静态文件配置static

1.js.css这些静态文件

2.需要在setting中配置

3.使用步骤

  1. 先在项目根路径下 创建static再在setting.py中配置

    #静态文件配置相关

    STATIC_URL='/static/'

    #再配一个STATICFILES_DIRS=列表(列表内写路径),单词一个字母都不能错

    STATICFILES_DIRS=[

      os.path.join(BASE_DIR,'static')

]

2.在static中新建img,js,css文件夹以后相应的目录方相应的目录

3.在模板中最上面引入使用

  src="/static/js/jquery.min.js"

 

标签:manage,--,创建,app,py,request,django,流程
From: https://www.cnblogs.com/97zs/p/17850643.html

相关文章

  • Qt QWidget Must construct a QApplication before a QWidget
    1,有些QT写的PC程序在运行的时候,会弹出下图所示的错误提示框 2、原因是因为,在点击程序的关闭的时候,有其它的窗口没有关闭,再次打开造成的,如下图所示,可能的原因是程序启动后,在任务栏在两个图标 3、如下图所示,用鼠标点击关闭其中一个窗口,另一个窗口并没有关闭4、当你再次打开......
  • Qt QWidget: Must construct a QApplication before a QWidget
    在使用UI的qwidget之前都必须先构造一个QApplication实例,这是断言的意思。错误的可能是在哪个类中采彩用了静态的(static)的qwidge域或其子类,因为静态和全局对象进入main函数之前就产生了,所以早于main函数里的qapplication日对象,所以出现了此断言错误。解决方法是避免在......
  • Qt 报错: QWidget: Must construct a QApplication before a QWidget
    最近遇到一个问题,程序编译时出现报错:Mustconstructa QApplication beforeaQWidget。我的main.cpp有这样的代码1intmain(intargc,char*argv[])2{3QApplicationa(argc,argv);4}另外一个SS.h1classSS:publicQWidget2{3Q_OBJECT4public:......
  • 基于Django(python+sql)的校园二手交易系统设计与实现(完整程序+开题报告+论文)
    摘要        随着互联网的迅猛发展,校园内的二手交易市场也逐渐呈现出蓬勃的发展态势。学生们在校园生活中会产生大量的闲置物品,而其他学生也有可能需要这些物品。本论文研究了校园二手交易系统的需求分析、系统实现和测试三个部分,旨在提高校园二手交易系统的开发和测......
  • Relay 的基本流程,包括定义 Relay 模型、编译模型、创建会话和执行模型。
    TVM(深度学习编译器堆栈)中的Relay是一个用于表示、优化和执行深度学习模型的中间表示语言。下面是一个简单的示例,展示了如何在TVM中使用Relay:importtvmfromtvmimportrelay#定义一个简单的Relay模型x=relay.var("x",shape=(3,3),dtype="float32")y=r......
  • 想用手机做ai短视频的ai短视频伙伴快看看,这款app可以让你的图片唱歌,说话,对口型最好的a
    经常看到很多ai短视频伙伴过来问,你这里有没有手机可以用的ai短视频工具,说实话到目前为止,手机能够使用的ai工具真的非常少,高粱seo记得仅仅有一款做水流瀑布流动类的app,之前很多人在直播间搞培训用的,因为涉及到ai方面的工具,一般来说消耗资源比较大,一般电脑用起来都费劲,更别说手......
  • 小白学习微信小程序的开发流程和项目架构
    微信小程序的开发流程和项目架构可以分为以下几个步骤:准备工作下载并安装微信开发者工具(微信开发者工具是一个集成了编辑器、调试器、自动编译等功能的开发工具,用于开发和调试小程序)。注册微信开放平台账号,并创建一个小程序。创建小程序项目打开微信开发者工具,点击......
  • java毕业设计线上水果店系统app(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代社会,随着生活节奏的加快和健康饮食观念的普及,人们对于水果的需求日益增长。传统的水果购买方式通常需要在实体店铺中进行,这不仅耗费时间,而且在种类......
  • MogDB openGauss故障排查流程
    MogDB/openGauss故障排查流程前提如果有反馈说数据库响应慢或者压测过程中数据库有报错,第一步先收集数据库服务器资源使用情况,这一步是处理所有故障的前提。--负载top命令htop命令--cpulscpu命令--内存大小free-g--磁盘大小df-Th--磁盘使用跟踪nohupiostat......
  • 在springboot中使用拦截器+JWT验证token的流程
    我的计算机设计大赛的项目需要用到JWT来进行用户身份验证,项目采用springboot技术,因为我没学过springSrcurity所以只能用原生的拦截器+JWT技术进行验证,我是跟着【SpringBoot整合JWT】这篇文章做的,老师讲的很详细跟着一步一步来也可以实现JWT身份验证,但是对于验证过程的整个流程......