Django重新开始学习--环境搭建 笔记

Posted 喵吉欧尼酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django重新开始学习--环境搭建 笔记相关的知识,希望对你有一定的参考价值。

环境 :

  python2.7

  django 1.9.8

  使用工具pycharm

  mysql

下载 navicat、mysql for windows  、python2.7  、pycharm

配置虚拟环境 virtualenv :   pin install virtualenv

 优点  使不同应用开发环境独立 

环境升级不影响其他应用,也不会影响全局的python环境

他可以防止系统中出现包管理混乱个版本冲突

 

=====================================================

virtualenv testvir 创建目录   

进入虚拟环境

 

 退出虚拟环境  deactivate

 

由于上面那种进入虚拟环境比较麻烦 所以安装新的

pip install virtualenvwrapper-win

新建安装环境目录 mkvirtualenv testvir2

新建目录自动在

退出虚拟环境  deactivate

 

workon 查看当前有哪些虚拟环境

workon  testivr2  进入当前虚拟环境

进入虚拟环境 下载模块

=======================================================

 

 django-admin startproject  djangostart【工程名称】
    
        djangostart
            - djangostart        # 对整个程序进行配置
                - init
                - settings  # 配置文件
                - url       # URL对应关系
                - wsgi      # 遵循WSIG规范,uwsgi + nginx
            - manage.py     # 管理Django程序:
                                - python manage.py 
                                - python manage.py startapp xx
                                - python manage.py makemigrations
                                - python manage.py migrate
    

 

 再static里创建css文件,template创建html表单

再head里配置link

<link rel="stylesheet" href="/static/css/style.css">

配置数据库:

DATABASES = {
    \'default\': {
        \'ENGINE\': \'django.db.backends.mysql\',
        \'NAME\': \'textdjango\',
        \'USER\': \'root\',
        \'PASSWORD\': \'root\',
        \'HOST\': \'127.0.0.1\',
    
    }
}

 安装mysql-python  详情在另外一篇文章

pip install mysql-python

 点击run manage.py task 运行

 

输入makemigrations 

输入migrate

显示完成:

Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK

配置templates

TEMPLATES = [
    {
        \'BACKEND\': \'django.template.backends.django.DjangoTemplates\',
        \'DIRS\': [os.path.join(BASE_DIR,\'templates\')],  #这里加上路径
        \'APP_DIRS\': True,
        \'OPTIONS\': {
            \'context_processors\': [
                \'django.template.context_processors.debug\',
                \'django.template.context_processors.request\',
                \'django.contrib.auth.context_processors.auth\',
                \'django.contrib.messages.context_processors.messages\',
            ],
        },
    },
]

配置static里css路径

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

 配置app 路径

INSTALLED_APPS = [
    \'django.contrib.admin\',
    \'django.contrib.auth\',
    \'django.contrib.contenttypes\',
    \'django.contrib.sessions\',
    \'django.contrib.messages\',
    \'django.contrib.staticfiles\',
    \'message\'
]

添加modle信息

class UserMesssage(models.Model):
    # verbose_name 用于对用户名做备注
    name = models.CharField(max_length=20,verbose_name=u"用户名")

    email = models.EmailField(verbose_name=u\'邮箱\')
    address = models.CharField(max_length=100,verbose_name=u"联系地址")
    message = models.CharField(max_length=100, verbose_name=u"留言信息")
    class Meta:
        verbose_name = u\'用户留言信息\'

出现编码错误 就在前面加

#_*_ coding:utf-8 _*_

运行makemigrations,migrate message

====================================================================

django modle基本类型
    models.ForeignKey  #外键类型
    models.DateTimeField #shijian类型
    models.IntegerField  #整形
    models.IPAddressField #ip地址类型
    models.FileField  #上传文件用到的类型
    models.ImageField #图片类型
====================================全部类型
  #    \'AutoField\', \'BLANK_CHOICE_DASH\', \'BigIntegerField\', \'BinaryField\',
    \'BooleanField\', \'CharField\', \'CommaSeparatedIntegerField\', \'DateField\',
    \'DateTimeField\', \'DecimalField\', \'DurationField\', \'EmailField\', \'Empty\',
    \'Field\', \'FieldDoesNotExist\', \'FilePathField\', \'FloatField\',
    \'GenericIPAddressField\', \'IPAddressField\', \'IntegerField\', \'NOT_PROVIDED\',
    \'NullBooleanField\', \'PositiveIntegerField\', \'PositiveSmallIntegerField\',
    \'SlugField\', \'SmallIntegerField\', \'TextField\', \'TimeField\', \'URLField\',
    \'UUIDField\',

再模型类中还可以设置自己的主键,使默认的备注为空


# verbose_name 用于对用户名做备注
default=\'\'  默认值为空

object_id = models.CharField( max_length=50, default=\'\',primary_key=True,verbose_name=u\'主键\')
name = models.CharField(max_length=20 , null=True, blank=True , default=\'\', verbose_name=u"用户名")

 

从新配置数据库

makemigrations message
makemigrations message
   class Meta:
        verbose_name = u\'用户留言信息\'
        db_table=\'user_message\' 生成表
        ordering=\'-object_id\' 做倒叙排列
        verbose_name_plural=\'verbose_name\' 负数信息

 

以上是关于Django重新开始学习--环境搭建 笔记的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记——1环境搭建篇(如何在Pycharm中配置Python和Django)

Django讲课笔记02:Django环境搭建

Django讲课笔记06:搭建项目开发环境

Python-Django框架学习笔记——第二课:Django的搭建

django学习笔记二:一个项目多个App项目搭建

Django 学习 —— 环境搭建