- 1.安装virtualenv
- pip install virtualenv
cd
- django目录结构
- 2.新建项目
- interpret为创建好的虚拟环境,虚拟环境中需现安装django
- 3.templates是存放Html文件的目录
- 4.创建django项目
- 1>tools->run manage.py task --> startapp message 会在主目录产生message的app
- 2>创建static、log、media、apps目录。
- static存放html、css、js、图片。
- log存放日志。
- media存放用户上传文件。
- 存放各app,会自动产生
__
init
__
.py文件,使apps文件夹成为可导入的包。
- 3>在settings文件中,from apps.message import views.mark apps
from message import views
命令行运行,通过settings的配置app为根搜索路径
python manage.py runserver
- question:
- 无法访问其他主机
- python manage.py runserver不成功
- 配置表单页面
- 在form.html中
<
head
>
里加
<
link
rel
=
"
stylesheet
"
href
=
"
/static/css/style.css
"
>
- 根据数据库生成django默认数据表
- 连接mysql驱动
- 进入虚拟环境
blog.csdn.net/u012882134/article/details/51934165
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
-
makemigrations
migrate shujubiao数据表生成过程,在navigate中可以看到
pycharm debug
浏览器:127.0.0.1:8000
呈现form页面
- 配置urls
创建映射
url(r'^form/$')
messages -> views.py:
def getform(request):
return render(request, 'message_form.html')
ctrl+s
- urls.py:
from message.views import getform
urlpatterns = [
.......
url(r'^form/$', getform)
]
ctrl + s -> ......访问页面
--->setting 'DIRS':[os.path.join(BASE_DIR, 'templates')] zhiming指明form目录 ->ctrl + s
--->127.0.0.1:8000/form
- settings.py :
STATIC_URL = '/static'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
- django orm 与 mode
通过类访问数据库,通过类似访问类的属性的方式访问数据库的元素
在“apps”目录下,message - > models.py
通过model生成数据表
![
image
]
(
D:/Django/django-9-model生成数据表.png
)
- 常用到的类型:
- models.EmailField 邮箱类型
- models.CharFields 字符类型,必须指明 max_length
- models.ForergnKey 外键类型
- models.DateTimeField 时间类型
- models.IntegerField 整型类型
- models.IPAddressField IP地址类型
- models.FileField 上传文件用到的类型
- models.ImageField
![
image
]
(
D:/Django/django-10-field.png
)
不指定主键时,会自动生成id,作为主键。
设定主键:primary_key=True
null=True, blank=True ->可以为空
default="" -> 设定默认值
verbose_name=u"..." 备注(详细信息)
- Meta信息
![
image
]
(
D:/Django/django-11-meta.png
)
- 数据表的增删改查
通过Model查询数据库中的记录
views.py:
from .models import UserMessage (.表示和views.py位于一个目录下)
django的obiects -> 数据表的管理器
objects.all()
objects.filter()
![
image
]
(
D:/Django/django-18-数据的查询.png
)
#
-
*
- coding:utf-8 -
*
-
- form表单
![
image
]
(
D:/Django/django-15-form.png
)
- 提交form表单
安全机制:
![
image
]
(
D:/Django/django-16-提交form.png
)
- 数据的增:
![
image
]
(
D:/Django/django-17-数据的增加.png
)
- model的删除
![
image
]
(
D:/Django/django-19-model删除.png
)
- django templates
django document(s)
- 搭建用户app
- 1. 创建虚拟环境 mkvirtualenv mxonline
- 2. 安装django pip install django==1.9
- 3. pycharm新建项目
![
image
]
(
D:/Django/django-22-pycharm新建项目.png
)
- 4. 安装MySQL驱动 pip install mysql-python
![
image
]
(
D:/Django/django-23-安装MySQL出错后的操作.png
)
- 5. 配置数据库
![
image
]
(
D:/Django/django-24-配置数据库.png
)
- 6. tool->manage task: makemigrations
- 7. 生成数据表 migrate
- user app 的model setting
- 1. 新建app startapp users
在任何一个web系统中,user表都是第一个被设计的
当authuser表不满足需求时,要自定义user表
![
image
]
(
D:/Django/django-26-abstractuser.png
)
![
image
]
(
D:/Django/django-25-自定义User表.png
)
- 2. setting中注册刚新建的app
- 3. 安装pillow pip install pillow
- 4. makemigrations users
- 5. migrate users
- 循环引用import -> 分层设计 : 可防止循环import
from datetime import datetime
- 邮箱验证码
![
image
]
(
D:/Django/django-29-邮箱验证码.png
)
- 轮播图
![
image
]
(
D:/Django/django-30-轮播图.png
)