Django基本教程
1.安装pip,python的包管理工具叫做pip
brew install pip
如果安装失败,尝试如下方式
sudo easy_install pip
安装Django
sudo pip install django
2.第一部分,制作一个超级简单的项目,叫做mysite
https://docs.djangoproject.com/en/1.11/intro/tutorial01/
django-admin startproject mysite
启动django开发服务器
python manage.py runserver
然后通过 http://127.0.0.1:8000/ 来访问默认站点
注意:
一个项目(project)包含多应用(app),一个应用(app)也可以属于多个项目(project)
接下来,我们创建一个应用(app),叫做polls
python manage.py startapp polls
进入polls目录
cd polls
在polls/views.py文件里写如下内容
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
在polls目录下新建一个文件,叫做urls.py,内容如下:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
在mysite/urls.py文件下,修改内容为
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
启动服务
python manage.py runserver
通过地址 http://localhost:8000/polls/ 在浏览器中就可以看到,在页面上显示着刚才index()方法返回的内容
3.第二部分,制作你的第一个Django应用
https://docs.djangoproject.com/en/1.11/intro/tutorial02/
3.1 整个项目的基础配置都是mysite/settings.py文件里,默认创建的Django项目使用的sqlite3,如果你要使用MySQL, PostgreSQL,Oracle等,请把此文件的DATABASES
变量的default
修改成你对应的数据库,如:
django.db.backends.sqlite3
或者
django.db.backends.postgresql
或者
django.db.backends.mysql
或者
django.db.backends.oracle
例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
或者其它可以用的数据库,看这里https://docs.djangoproject.com/en/1.11/ref/databases/#third-party-notes
查看INSTALLED_APPS里面,默认包含如下:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
但是我们需要通过命令来安装这些app
python manage.py migrate
具体看本页面吧
介绍Django Admin
1.创建一个admin用户
python manage.py createsuperuser
然后输入用户名,email地址,输入密码,然后启动
python manage.py runserver
通过以下预览
http://127.0.0.1:8000/admin
4.建立html页面,和python的某个方法关联
https://docs.djangoproject.com/en/1.11/intro/tutorial03/
如:index()方法
先建立目录和index.html文件,在mysite/polls/templates/polls/index.html,并且修改index(request): 方法如:
from django.http import HttpResponse
from django.template import loader
from django.shortcuts import render
def index(request):
template = loader.get_template('polls/index.html')
latest_question_list = [1, 2, 3, 4, 5]
context = {
'latest_question_list' : latest_question_list,
}
return HttpResponse(template.render(context, request))
或者这么写也行
from django.shortcuts import render
def index(request):
latest_question_list = [1, 2, 3, 4, 5]
context = {'latest_question_list': latest_question_list}
return render(request, 'polls/index.html', context)
polls/index.html页面内容如下:
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
个人觉得吧,这就是一套模板引擎语法