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


浙公网安备 33010602011771号