一,创建django项目:
1,pycharm直接创建
2,执行:
- 终端命令:django-admin startproject sitename
- 其他常用命令:
python manage.py runserver 0.0.0.0
python manage.py startapp appname
python manage.py syncdb
python manage.py makemigrations
python manage.py migrate
二,起始配置文件:
1、数据库
1 DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.mysql', 4 'NAME':'dbname', 5 'USER': 'root', 6 'PASSWORD': 'xxx', 7 'HOST': '', 8 'PORT': '', 9 } 10 } 11 12 13 # 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替 14 15 # 如下设置放置的与project同名的配置的 __init__.py文件中 16 17 import pymysql 18 pymysql.install_as_MySQLdb()
2、模版
TEMPLATE_DIRS = ( os.path.join(BASE_DIR,'templates'), )
3、静态文件
1 STATICFILES_DIRS = ( 2 os.path.join(BASE_DIR,'static'), 3 ) 4 5 #注释:'django.middleware.csrf.CsrfViewMiddleware'此行代码
4 路由系统
单一路由对应 url(r'^index$', views.index), 基于正则的路由 url(r'^index/(d*)', views.index), url(r'^manage/(?P<name>w*)/(?P<id>d*)', views.manage), url(r'^manage/(?P<name>w*)', views.manage,{'id':333}), 为路由映射设置名称 url(r'^home', views.home, name='h1'), url(r'^index/(d*)', views.index, name='h2'),
根据app对路由规则进行分类
url(r
'^web/'
,include(
'web.urls'
)),
命名空间
三,模板
{{ item }} {% for item in item_list %} <a>{{ item }}</a> {% endfor %} forloop.counter forloop.first forloop.last {% if ordered_warranty %} {% else %} {% endif %} 母板:{% block title %}{% endblock %} 子板:{% extends "base.html" %} {% block title %}{% endblock %} 帮助方法: {{ item.event_start|date:"Y-m-d H:i:s"}} {{ bio|truncatewords:"30" }} {{ my_list|first|upper }} {{ name|lower }