在终端切换到你想要存放源码的目录,然后输入:
django-admin startproject mysite就会创建一个mysite文件夹,里面是一些自动生成的源码。
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py首先在终端切换到你项目目录下(outer mysite),然后输入:
python manage.py runserver 然后输出: Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied. Run 'python manage.py migrate' to apply them. March 11, 2017 - 15:50:53 Django version 1.10, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.现在你就可以访问:http://127.0.0.1:8000/ 了
在 manage.py 所在的目录下运行命令:
python manage.py startapp pollsAPP目录结构:
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py这样就在项目里创建了一个应用。
在 settings.py 的 INSTALLED_APPS 中添加上刚创建的应用的名称。这个的作用就是:在查找模板的时候,会按照INSTALLED_APPS中的顺序查找,如果不指定会报找不到模板的错误[ TemplateDoesNotExist ]。
在 views.py 文件中编写代码:
# polls/views.py from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse("Hello World!")在你新创建的应用文件夹下,创建一个 urls.py 文件,然后在 mysite 文件夹下的 urls.py 文件中配置:
# mysite/urls.py from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ # polls/是 polls这个应用的访问路径名称 url(r'^polls/', include('polls.urls')), url(r'^admin/', admin.site.urls) ]在应用下的urls中:
# polls/urls.py from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name = 'index') ]当我们访问 http://127.0.0.1:8000/polls 路径时就会跳转到新的页面。
在应用的目录下新建一个 templates 文件夹,编写一个html文件,修改:
# polls/views.py from django.shortcuts import render from django.http import HttpResponse def index(request): return render(request, 'index.html')再次访问 : http://127.0.0.1:8000/polls 路径时就会跳转到index.html。
在modules.py文件中创建好Model之后,在控制台输入命令:
# 准备迁移 python manage.py makemigrations # 迁移 python manage.py migrate # 查看SQL语句 python manage.py sqlmigrate 应用名称 文件id先手动向数据库添加一条数据,查询并返回数据到页面:
# polls/views.py from django.shortcuts import render from django.http import HttpResponse from . import models def index(request): article = models.Article.objects.get(pk=1) return render(request, 'index.html', {'article': article})