喵吉欧尼酱

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

环境 :

  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' 负数信息

 

posted on 2017-10-05 09:21  喵吉欧尼酱  阅读(265)  评论(0)    收藏  举报