django安装项目 app流程

#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"

 

posted @ 2024-03-14 15:28  朱饱饱  阅读(121)  评论(0)    收藏  举报