Django 1.8.2 文档 总结

文档讲得太繁琐了 简洁下:


创建一个项目:

django-admin startproject mysite

穿件对应表:默认后面会去设置数据库,这里只是默认设置其实可以省略

python manage.py migrate

运行开发服务器:

$ python manage.py runserver

创建模型应用:

$ python manage.py startapp polls

编辑模型文件:polls/models.py

from django.db import modelsclass
Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

模型举例而已。


激活模型应用:修改settings.py文件

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    )

包含应用:

$ python manage.py makemigrations polls

执行SQL:

$ python manage.py sqlmigrate polls 0001

再创建模型:

$ python manage.py migrate


模型详细信息可参照:

http://python.usyiyi.cn/django/topics/db/models.html


视图:

配置一个简单的url:编辑 url.py文件

from django.conf.urls import url
from . import viewsurl
patterns = [
    url(r'^articles/2003/$', views.special_case_2003),
    url(r'^articles/([0-9]{4})/$', views.year_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
   ]
  • /articles/2005/03/ 请求将匹配列表中的第三个模式。Django 将调用函数views.month_archive(request, '2005', '03')

  • /articles/2005/3/ 不匹配任何URL 模式,因为列表中的第三个模式要求月份应该是两个数字。

  • /articles/2003/ 将匹配列表中的第一个模式不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配。请像这样自由插入一些特殊的情况来探测匹配的次序。

  • /articles/2003 不匹配任何一个模式,因为每个模式要求URL 以一个反斜线结尾。

  • /articles/2003/03/03/ 将匹配最后一个模式。Django 将调用函数views.article_detail(request, '2003', '03', '03')


包含url:

url(r'^polls/', include('polls.urls', namespace='author-polls', app_name='polls')),
from django.conf.urls import include, url
from . import views
polls_patterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'),
]
    url(r'^polls/', include((polls_patterns, 'polls', 'author-polls'))),

视图函数:

from django.http import HttpResponse, HttpResponseNotFounddef 
my_view(request):
    # ...
    if foo:
        return HttpResponseNotFound('<h1>Page not found</h1>')
    else:
        return HttpResponse('<h1>Page was found</h1>')

404异常:

from django.http import Http404
from django.shortcuts import render_to_response
from polls.models import Polldef 
detail(request, poll_id):
    try:
        p = Poll.objects.get(pk=poll_id)
    except Poll.DoesNotExist:
        raise Http404("Poll does not exist")
    return render_to_response('polls/detail.html', {'poll': p})

其他表单的 可以自己写


后期继续更新

你可能感兴趣的:(数据库,python,开发,服务器,import)