Django -- 虚拟环境安装以及在pycharm中初步操作


windows命令提示行中:

  1. 创建虚拟环境安装包

    pip install virtualenv
    检查是否安装成功
    virtualenv

  2. 创建env虚拟环境

    C盘下新建一个env目录, 命令窗口中进入env目录, 运行下面命令 意思是把虚拟环境安装在testenv下
    virtualenv –no-site-packages(指定创建的env环境下不需要此安装包) -p(指定python版本) xxx(指定python版本的安装路径) testenv(指定创建虚拟环境的目录,自动创建)
    进入Scripts目录下: 安装pymysql : pip install pymysql

  3. 进入虚拟环境

    source bin/avtivate(安装路径下运行activate)

  4. 退出虚拟环境

    deactivate

  5. 安装Django:

    进入虚拟环境: activate
    pip install django==1.11 (后面指定django安装的版本)

  6. 创建django项目

    新建一个目录workspace, 进入该目录下:
    django-admin startproject helloworld
    进入 helloworld 目录下, 运行:
    python manage.py runserver 0.0.0.0:8000(后面地址可不写,0.0.0.0让其它电脑可连
    接到开发服务器,
    8000 为端口号。如果不说明,那么端口号默认为 8000。)

  7. 查看目录结构

    tree /f

  8. 项目下settings.py文件:

    调整语言:
    LANGUAGE_CODE = ‘zh-hans’
    调整时区:
    TIME_ZONE = ‘Asia/Shanghai’

  9. 在浏览器输入127.0.0.1:8000

    会显示正常工作了

  10. 启动django项目

    python manage.py runserver ip:端口


pycharm中操作django:

  1. django是在虚拟环境下运行的:
    settings –> 配置Django解释器

    C:env/testenv/Script/python.exe --> apply --> ok
    

    terminal –> 看看是不在虚拟环境下:(testenv) C:workspace/helloword>

  2. 调整浏览器访问时页面的语言和时区:
    settings.py –> 修改

    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
    
  3. 配置浏览器访问接口默认8000,修改后8080:
    菜单栏 –> Run –> debug –>编译配置文件 –> 点击 ‘+’ –> 添加 python –> name:自己定义 –> runserver 8080(启动服务器 配置一个8080接口 ) –> apply –> debug –> terminal查看

  4. 创建app

       python manage.py startapp appname
    

    创建app要在项目下的settings.py的INSTALLED_APPS中要添加’appname’

  5. app:

    init.py:初始化
    admin.py:管理后台注册模型
    apps.py: settings.py里面注册app的时候需要使用到。
    一般不推荐这样使用:

    from appname.apps import AppConfig
    

    models.py:写模型的地方
    views.py:写处理业务逻辑的地方

  6. 框架:

    url 请求 使用urls分配对应的方法 一个url对应一个方法

    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'hello', views.first_hello)
    ]
    

    所有的url请求都写在这里面, 正则表达式检索hello请求 , 分配方法views.first_hello

    方法在创建的app中的views.py中定义:

    def first_hello(request):
    
        return HttpResponse('helloworld')
    

    运行程序 –> 浏览器输入127.0.0.1:8080/admin 会返回一个页面因为在urls.py中分配的有方法

    浏览器输入127.0.0.1:8080/hello 会返回一个一个页面, 在urls.py中同样定义的有方法
    urls.py中定义所有的url请求, 但是请求只能访问一个, 访问一个请求时 , 要把其他的检索注销, 正则表达式后面加上/,例url(r’^admin/’, admin.site.urls) 这一样在执行其他url时就不会执行这个命令了

  7. 给每一个app绑定一个处理方法:

    项目下 –> urls.py:

        url(r'appname/', include('appname.urls'))
    

    app下 –> 新建urls.py文件中:

    from django.conf.urls import url
    
    from stu import views
    
    urlpatterns = [
    
        url(r'addstu/', views.addStudent)
    ] 
    

    app下 –> views.py文件中:
    from django.http import HttpResponse
    def addStudent(request):
    return HttpResponse(‘添加成功’)

    运行项目:浏览器输入127.0.0.1:8000/appname/正则表达式匹配的内容


django访问数据库创建表格(使用pycharm):

  1. 项目下–>settings.py–>DATABASE:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'HOST':'localhost',
            'USER': 'root',
            'PASSWORD': '123123',
            'PORT': '3306',
            'NAME': 'firsthello'
        }
    }
    

    指定要访问的数据库类型是mysql,以及数据库的名称firsthello, ‘NAME’是在navicat for mysql 中新建的数据库的名称, 使用Navicat创建数据库,打开navicat–>连接服务器(此处连接的是本地)–> 右键 –> 新建数据库

    数据库名称:firsthello; 
    字符集:utf8; 
    排序规则:utf8_general_ci
    
  2. 项目下 –> init.py文件中加上一句话:

    import pymysql
    
    pymysql.install_as_MySQLdb()
    
  3. 创建的app–>models.py(编译表格的列,并定义表格的名称):

    from django.db import models
    
    class Student(models.Model):
        name = models.CharField(max_length=20)
    
        sex = models.BooleanField()
    
        class Meta:
            db_table = 'stu'    
    
  4. app下 –> urls.py:

    # -*- coding:utf-8 -*-
    
    from django.conf.urls import url
    
    from stu import views
    
    urlpatterns = [
    
        url(r'addstu/', views.addStudent)
    ]    
    
  5. app下 –> views.py:

    from django.http import HttpResponse
    
    从模型中导入定义的表格类:
    from stu.models import Student
    
    定义请求返回:
    def addStudent(request):
    
        定义表格的内容:
        stu = Student()
        stu.name = '张三'
        stu.sex = 1
        保存表格
        stu.save()
    
        return HttpResponse('添加成功')
    
  6. 迁移数据库(pycharm 的 terminal 中执行):
    workspace是我的C盘下专门用来存放django项目的目录,
    表示在虚拟环境下执行如下命令:
    (testenv) C:workspace/helloword>

        python manage.py makemigrations
        python manage.py migrate
    

    以上只有在浏览器中请求才会执行views.py文件, navicat刷新表格才会显示内容

附加:

环境变量path:为操作系统运行指定要运行的参数, 
当在当前目录下找不到时, 到path 下去找
pip list
pip unstall + packagename
pip install + packagename


Python中字符串前面加上 r   表示原生字符串


MVT :url(http请求) urls(路由) model(模型) view(视图) templates
MCT :url urls controller model view

你可能感兴趣的:(Django -- 虚拟环境安装以及在pycharm中初步操作)