代码改变世界

django入门篇(开始配置,创建 , ORM 操作)

2017-06-26 19:58  hl_流星  阅读(227)  评论(0编辑  收藏  举报

一,创建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 }