django (一) 环境的配置及Django文件简介

1, 创建虚拟环境(virtualenv 和virtualenvwrapper)
1.1, virtualenv的概述
    virtualenv是用来创建Python的虚拟环境的库,虚拟环境能够独立于真实环境存在,并且可以同时有多个互相独立的Python虚拟环境,每个虚拟环境都可以营造一个干净的开发环境,对于项目的依赖、版本的控制有着非常重要的作用。
    虚拟环境有什么意义?
    比如: 我们要同时开发多个应用程序,应用A需要Django1.11,而应用B需要Django1.8怎么办, 这种情况下,每个应用可能需要各自拥有一套独立的Python运行环境,virtualenv就可以用来为每一个应用创建一套‘隔离‘的Python运行环境。
?
1.2, 安装pip
   【请使用普通用户】 
    a. 查看pip版本
        查看pip版本: pip -V
        查看pip3版本: pip3 -V
    b. 安装pip(如果存在则不需要安装)
        安装pip3: apt install python3-pip    
         安装pip2: apt install python-pip    
    c. 更新pip
        更新pip (如果pip版本高于9.0则不需要更新): 
            更新pip3: pip3 install --upgrade pip
             更新pip: pip install --upgrade pip
 
         注意: 更新后如出现以下错误(这是pip 10.0.0版本的BUG):
            Traceback (most recent call last): 
            File “/usr/bin/pip”, line 9, in 
            from pip import main
?
            解决方法:修改对应pip文件中的代码(pip和pip3类似)
                例如更新pip时报错则需要修改 /usr/bin/pip 文件中的代码,
                使用: sudo vim /usr/bin/pip 打开pip文件
                将:          
                    from pip import main
                    if __name__ == ‘__main__‘:
                        sys.exit(main())
                改成:
                    from pip import __main__
                    if __name__ == ‘__main__‘:
                        sys.exit(__main__._main())
?
    d. 让pip默认使用python3, 执行命令:
        sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

    e. pip命令
        pip install xxx:安装xxx依赖包
        pip list:查看所有依赖包
        pip freeze:查看新安装的包
        pip uninstall xxx :卸载xxx包
?
1.3, virtualenv和virtualenvwrapper 的安装和使用
   【请使用普通用户】 
    a. 安装虚拟环境
        sudo apt update
        sudo pip3 install virtualenv virtualenvwrapper
        
        安装后如果不能使用虚拟环境命令,则需要配置环境变量
            1, 进入家目录: cd ~
            2, 使用vim打开.bashrc, 定位到最后:shift+g,并添加以下2行代码(注意修改自己Ubuntu的用户名)
                    export WORKON_HOME=/home/自己Ubuntu的用户名/.virtualenvs
                    source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
            3, 在家目录创建.virtualenvs目录: mkdir .virtualenvs
            4, 加载修改后的设置,使之生效:source .bashrc
            (如果找不到virtualenvwrapper.sh,
             则将路径改成/usr/local/bin/virtualenvwrapper.sh
             然后重试 )
    b. 创建虚拟环境: 
        mkvirtualenv env  
        mkvirtualenv env2 -p /usr/bin/python3  (指定python路径)
    c. 退出虚拟环境
        deactivate 
    d. 进入虚拟环境: 
        workon 虚拟环境名称
  1. 安装django

    pip install django==1.11(==1.11是指定版本, 如不写则会安装最新版本)

  测试Django是否安装成功 
  进入python环境
    import django
    django.get_version()
  1. 创建一个Django项目

进入到指定要存放项目的目录,执行 django-admin startproject xxx 来创建一个名字为xxx的工程

  查看默认目录结构:
  manage.py:
      是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完成。
  HelloDjango/__init__.py:
    告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会用到
  HelloDjango/settings.py:
      Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等。
  HelloDjango/urls.py:
      维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应。
  HelloDjango/wsgi.py:
      定义WSGI的接口信息,主要用于服务器集成,通常本文件生成后无需改动。
  1. 测试服务器的启动
python manage.py runserver [ip:port]
  可以直接进行服务运行 默认执行起来的端口是8000
  也可以自己指定ip和端口:
  监听机器所有可用 ip (电脑可能有多个内网ip或多个外网ip):python manage.py runserver 0.0.0.0:8000 
  如果是外网或者局域网电脑上可以用其它电脑查看开发服务器,访问对应的 ip加端口,比如 10.36.132.2:8000
  浏览器访问:http://localhost:8000 可以看到服务器启动成功

?

  1. 数据迁移迁移的概念:就是将模型映射到数据库的过程

生成迁移:python manage.py makemigrations

执行迁移:python manage.py migrate

?

  1. 创建应用python manage.py startapp XXX创建名称为XXX的应用使用应用前需要将应用配置到项目中,在settings.py中将应用加入到INSTALLED_APPS选项中
  应用目录介绍:
  __init__.py:
      其中暂无内容,使得app成为一个包
  admin.py:
      管理站点模型的声明文件,默认为空
  apps.py:
      应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
  models.py:
      添加模型层数据类文件
  views.py:
      定义URL相应函数(路由规则)
  migrations包:
      自动生成,生成迁移文件的
  tests.py:
      测试代码文件

?

  1. 基本视图
  首先我们在views.py中建立一个路由响应函数
  from django.http import HttpResponse
  def welcome(request):
    return HttpResponse(‘HelloDjango‘);
?
  接着我们在urls中进行注册
  from App import views
  url(r‘^welcome/‘,views.welcome)
?
  基于模块化的设计,我们通常会在每个app中定义自己的urls
?
  在项目的urls中将app的urls包含进来
  from django.conf.urls import include
  url(r‘^welcome/‘,include(‘App.urls‘))
?
  课堂练习:新建一个应用showtime,每次刷新页面显示不同的时间。

?

  1. 基本模板
  模板实际上就是我们用HTML写好的页面
  创建模板文件夹templates, 在模板文件夹中创建模板文件
  在views中去加载渲染模板, 使用render函数: return render(request,‘xxx‘)

  1. 定义模型在models.py 中引入modelsfrom django.db import models

创建自己的模型类,但切记要继承自 models.Model

案例驱动: 使用模型定义班级,并在模板上显示班级列表

  班级: table : grade
    columns: 
            班级名称 - name
            成立时间 - date
            女生个数 - girlnum
            男生个数 - boynum
            是否删除 - is_delete
  1. Admin 后台管理

    在admin.py中将model加入后台管理:

    admin.site.register(Grade)

    创建超级用户:python manage.py createsuperuser

    访问admin后台:http://127.0.0.1:8000/admin/

  1. 展示班级列表

    在views.py文件中编写班级的视图函数:

    def grade_list(request):
        # 获取班级所有数据
        g_list = Grade.objects.all()  
        return render(request, ‘grade/grade_list.html‘, {‘g_list‘: g_list})

? 模板文件(html文件):

    {% for grade in g_list %}
        {{ grade.sname }}
    {% endfor %}
  1. 配置url

    在grade App中新建urls.py文件,输入如下代码:
from django.conf.urls import url
from .views import grade_list
urlpatterns = [
    url(r‘^grade/$‘, grade_list),
]

? 在工程的urls.py文件中添加如下代码:

url(r‘^‘, include(‘grade.urls‘)),
    columns:

? 学生姓名 - name

        学生性别 - gender
        学生年龄 - age
        学生简介 - info
        是否删除 - is_delete 

定义学生类 class Student(models.Model): name = models.CharField(max_length=20) gender = models.BooleanField(default=True) age = models.IntegerField() info = models.CharField(max_length=20) is_delete = models.BooleanField(default=False)

? 3,学会查看官网: https://docs.djangoproject.com/en/1.11/intro/tutorial01/

原文地址:https://www.cnblogs.com/gugubeng/p/9722969.html

时间: 2024-08-28 21:36:36

django (一) 环境的配置及Django文件简介的相关文章

django之环境变量配置

1.配置python变量环境,C:\Python34\;C:\Python34\Scripts\ 2.配置django变量环境,C:\Python34\Lib\site-packages\Django-1.7.11-py3.4.egg\django\bin 3.注意事项:有的版本安装之后admin.py文件可能直接显示在C:\Python34\Lib\site-packages\Django下,所以需要格外留意 4.在哪里安装: 1)右击我的电脑--属性--高级系统设置--高级--环境变量--系

Django常用命令及配置(Django 1.8.6)

常用命令 #新建Django项目 django-admin startproject mysite(项目名) #新建一个APP cd mysite python manager.py startapp app01(app名) #同步数据库 python manage.py makemigrations python manage.py migrate #使用开发服务器 python manage.py runserver 0.0.0.0:8000 #清空数据库 python manage.py

django 的mysql数据配置

原地址:http://blog.csdn.net/gamesofsailing/article/details/21465327 在成功安装python-mysql后,开始配置django的mysql连接配置 打开django项目下的setting.py文件,将DATABASES改成下面这样 DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', 'NAME':'mysite', 'USER':'root', 'PASSWO

Django开发环境搭建

Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有:用于创建模型的对象关系映射,为最终用户设计的完美管理界面,一流的 URL 设计,设计者友好的模板语言,缓存系统等. 为了搭建Django开发环境,先去Django官网看看.在Dlownload目录下告诉了用户怎么获取Django. How to get Django Django is available open-source under the BSD

thinkphp5.0环境变量配置

允许使用环境变量配置,并且优先级别比在配置文件中要高,因为在读取配置参数的时候,首先会判断环境变量中是否存在该配置. 在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如: app_debug = true app_trace = true 如果你的部署环境单独配置了环境变量,那么请删除.env配置文件,避免冲突. 环境变量配置的参数会全部转换为大写,值为 null,no 和 false 等效于 "",值为 yes 和 t

Django基本环境配置

Django是一个开放源代码的Web应用框架,它源自一个在线新闻 Web 站点,于2005 年以开源的形式被释放出来.Django 框架的核心组件有: 1)用于创建模型的对象关系映射 2)为最终用户设计的完美管理界面 3)一流的 URL 设计 4)设计者友好的模板语言 5)缓存系统. 一.系统环境:RHEL6.0 +Python 2.6.5 + Django 1.6.4 [[email protected] ~]# uname -a Linux rhel6 2.6.32-71.el6.i686

django 配置上传图片和文件

在django中经常遇到要上传文件的需求,这里记录下如何配置用户上传的文件保存 首先在setting中添加 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', # 设置 templates 目录 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors':

django开发环境setting.py里面设置debug=false时却成功加载静态文件?

django开发环境setting.py里面设置debug=false时却成功加载静态文件?按理来说应该是加载失败的. 启动服务器,运行正常,但是静态文件如css,js,图片是无法加载的. 问题: 解答:问题在于使用的是谷歌浏览器,默认使用了缓存.导致每次访问同一个url时,都返回的是缓存里面的东西. 通过谷歌浏览器里面的开发者工具network下面的选项能禁用缓存.禁用缓存之后,则在django开发环境里面,运行 python manage.py runserver,如将DEBUG的值设为Tr

Django配置与静态文件

settings.py """ Django settings for myproject project. Generated by 'django-admin startproject' using Django 1.10.2. For more information on this file, see https://docs.djangoproject.com/en/1.10/topics/settings/ For the full list of setting