zoukankan      html  css  js  c++  java
  • Django

    1.环境搭建

    注意:如果嫌麻烦,不要装最新的版本,django使用2.0,因为xadmin的官方branch最新就是支持2.0

    1.1 python3.6,pycharm,virtualenv的使用

    pycharam快捷键

    ctrl+左键

    shift+左键

    shift+tab

    ctrl + H 全局搜索

    1.2 MySQL server

    注意:(在windows下)

    1.还要安装python3.6的连接程序,当在安装时,requirement没有满足时,点击excute可以自动帮忙安装。

    2.如果后期需要重新配置,打开mysql installer就可以

    3.默认安装路径 C:Program FilesMySQLMySQL Server 8.0in 加到环境变量, 可以在命令行 通过 mysql -uroot -p 命令可以进行登入mysql控制台

    1.3 Navicat for mysql

    注意:

    字符集设置 utf-8 utf_general_ci  ,否则中文报错

    2.文件目录

    project
    
    --template:存放模板 放置html
    
    --project:项目真正python包  应用的名称默认与项目名称一样
    
      --inti
    
      --setting:配置文件 项目全局配置文件
    
      --urls:url 主要的urls配置入口
    
      --wsgi:部署到服务器 Django启动需要的文件。
    
    --manage:启动Django需要的主要文件。(主要的Django命令都通过manage.py运行)
    
    -------------------------------------------以上是最根本的目录结构--------------------------------------------
    
    --application   app是Django里一个一个应用的文件夹单位。
    
    如何创建应用:通过 Tools -> Run manage.py Task创建app:startapp message 可以看到当输入startapp message之后,创建了message应用。并存放在了与项目目录同级目录。
    
      --migrations:迁移数据库用到
    
      --init 自动生成__init__.py文件表明这是一个包。使得该文件夹可导入。
    
      --model:模型管理文件
    
      --admin:后台管理文件
    
      --view:试图文件
    
      --tests:测试文件
    
      --apps:
    
    -----------------------------------------以上是通过命令自动创建的---------------------------------------------
    
    --static 放静态文件
    
    --log
    
    --media
    

      

    注意:

    1.前端页面中链接的url路径是 “/”开头,或者 {%url “url的别名”%}

    2.新建application:1.startapp name  2.在settings中加入 INSTALLED_APPS

    3.新建static目录使用static目录来存放网站的静态文件:js,css,图片等。

      注意在Setting中静态文件的配置

      STATIC_URL = '/static/'

      只说明了目录的名称。并没有指明查找的根路径。添加下面代码,这样就可以让static文件下的其他文件夹可以被找到

      STATIC_URL = '/static/'
      STATICFILES_DIRS = [
      os.path.join(BASE_DIR, 'static')
      ]

    4.新建log目录使用log目录来存放网站的日志文件

    5.新建media目录使用media目录存放用户上传的图片等资源。

    6.为方便管理文件,解决项目大了之后app过多问题新建文件夹 apps,将message文件夹拖入apps文件夹内:会自动生成__init__.py文件表明这是一个包。使得apps文件夹可导入。

      6.1将apps目录右键mark成Source Root,如果不这样pycharm会报错,即使你已经执行了第二步。而如果不执行第二步,cmd中会报错

      6.2我们在项目的setting文件中配置我们的apps路径:

        import sys
        sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

    7.CTRL-BREAK.可以用ctrl+c 来中断服务

    3.配置Django连接Mysql数据库

    DATABASES = {
          'default': {

              'ENGINE': 'django.db.backends.mysql',
              'NAME': 'testdjango',
              'USER': 'root',
              'PASSWORD': '密码',
              'HOST': "127.0.0.1"
          }
    } 

     
    注意:
    1.别忘了配置MySQL驱动  mysql-python 或者  pip install mysqlclient  whl文件下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
    2.生产django默认数据表,因为mysql的8.0更改了加密方式,makemigrations命令会报错,所以记得更改mysql的加密方式。
    3.在MySQL控制台中,执行命令要加上分号。https://blog.csdn.net/qq_34809033/article/details/80928178

    更改加密方式:

    1.登录mysql,连接用户为root。
    > mysql -u root -p

    2.执行命令查看加密方式
    > use mysql;
    > select user,plugin from user where user='root';

    3.执行命令修改加密方式
    > alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword';

    4.属性权限使配置生效
    > flush privileges;

    重设mysql8.0的加密方式后,再次启动django服务器就没有任何问题了。

    4.migrate和makemigration

    makemigrations会在当前目录下生成一个migrations文件夹,该文件夹的内容就是数据库要执行的内容python manage.py makemigrations 

    migrate就是执行之前生成的migrations文件,这一步才是操作数据库的一步python manage.py migrate 

    备注:Django每次更新模型都需要执行以上两步,需要注意的是Django模型增加内容需要设定变量的初始值,否则会在第一步出现问题

    makemigrations后面也可以加应用名称否则就是对整个项目进行操作

     

     5.xadmin的使用

     
    前提:采用源码安装方式 ,qithub上找django2的branch

    git clone -b django2 https://github.com/sshwsfc/xadmin.git

    pip install git+git://github.com/sshwsfc/xadmin.git@django2 可以用来安装它的依赖包,然后卸载xadmin

    1.setting文件中:

      sys.path.insert(0,os.path.join(BASE_DIR, 'extra_apps'))

    2.setting文件中:

      'xadmin',
      'crispy_forms'

    3.url文件中path('xadmin/', xadmin.site.urls),

    使用:在项目中使用xadmin

    xadmin就相当于一个数据库管理器

    在application文件夹下创建adminx.py文件

    注意:
     
    1.在安装python的相关模块和库时,我们一般使用“pip install  模块名”或者“python setup.py install”,前者是在线安装,会安装该包的相关依赖包;后者是下载源码包然后在本地安装,不会安装该包的相关依赖包。所以在安装普通的python包时,利用pip工具相当简单。但是在如下场景下,使用python setup.py install会更适合需求:

    2.git clone -b 分支名仓库地址使用Git下载v.2.8.1分支代码,使用命令:git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git

    3.如果想要使用xadmin,记得新建adminx文件。

    4.源码安装,与pip安装的区别在于源码安装可以更改源码,进而实现自己的功能就和tensorflow的model一样

     

     

    5.工作流程

    5.1 写model

    重写__str__方法,这是因为在后台添加数据的时候,如果不重写,后台会显示

    def __str__(self):
      return self.name

    5.2 写url配置文件

    5.3 写view

    5.4 写template

    5.4.1前端页面放入值

    为input系列标签添加value: 使用my_message.name取到我们传递过来的my_message对象的属性值。

    <input id="name" type="text" name="name"
    value="{{ my_message.name }}" class="error" placeholder="请输入您的姓名"/>

    为textarea标签添加值

    <textarea id="message" name="message" placeholder="请输入你的建议">{{ my_message.message }}</textarea>

    5.4.2form表

    post请求要:{% csrf_token %}

     
     
     
     
     
  • 相关阅读:
    C#处理不同的JSON数据
    如何查看当前工程,已经安装的nuget包?
    什么是nuget?nuget包是如何管理
    Visual Studio 2015创建ASP.NET MVC流程
    Web API和Web Service
    TCP和IP的三次握手和第四次挥手
    http和https的区别
    HTTP协议详细介绍
    MVC流程图
    简述 三次握手、四次挥手的流程?
  • 原文地址:https://www.cnblogs.com/BlueFire-py/p/9671530.html
Copyright © 2011-2022 走看看