笔记来源:自强学堂-Django教程
这个教程真的非常好用!强烈推荐
这些命令很重要,尽量记得
django-admin.py startproject project-name
一个project为一个项目,project-name 项目名称。#执行该命令:新建的app与project处于一个文件project下
django-admin.py startapp app-name
#执行这个命令app在project-name子目录下
#执行这个命令的前提:cd projectname/
python manage.py startapp app-name
一般一个项目有多个app,通用的app可以在多个项目中使用#Django 1.7.1以及以上版本需要用一下命令
python manage.py makemigrations
python manage.py migrate
这种犯法可以创建表,当在models.py中新增了类是,运行它可以自动的在数据库中创建表,不用手动创建。python manage.py runserver
# 当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程)
# 监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000
python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
# 修改 用户密码可以用:
python manage.py changepassword username
#注意 导出的xxx.json文件位于 projectname文件夹下
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
python mange.py shell
如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。python manage.py dbshell
在这个终端可以执行数据库的SQL语句python manage.py
可以看到详细列表,忘记命令时很好用#1. 新建一个项目(project), 名称为 mysite
django-admin.py startproject mysite
#2. 新建一个应用(app), 名称叫 learn
#到外层那个 mysite 目录下(不是mysite中的mysite目录)
python manage.py startapp learn
#**把我们新定义的app加到settings.py中的****INSTALL_APPS****中**
#修改 mysite/mysite/settings.py
#如果不添加这一步,django 就不能自动找到app中的模板文件和静态文件
#3. 定义视图函数(访问页面的内容)
#在views.py中修改 注意:coding:utf-8
#4. 定义视图函数相关的URL(网址)
# mysite/mysite/urls.py
#5. 运行服务器
python manage.py runserver
#views.py
from django.shortcuts import render
from django.http import HttpResponse
def add(request):
a = request.GET['a']
b = request.GET['b']
c = int(a)+int(b)
return HttpResponse(str(c))
#注:request.GET 类似于一个字典,更好的办法是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0
#urls.py
from calc import views as calc_views
url(r'^add/', calc_views.add, name='add'), # 注意修改了这一行
#访问http://127.0.0.1:8000/add/?a=4&b=5
#views.py
def add2(request,a,b):
c = int(a)+int(b)
return HttpResponse(str(c))
#urls.py
url(r'^add/(\d+)/(\d+)/$',calc_views.add2,name='add2')
#访问
http://127.0.0.1:8000/add/4/5/
不带参数的:
{% url 'name' %}
带参数的:参数可以是变量名
{% url 'name' 参数 %}
例如:
<a href="{% url 'add2' 4 5 %}">link</a>
上述代码渲染成的最终的页面是:<a href = "/add2/4/5">link</a>
#这样就可以通过 {% url 'add2' 4 5 %} 获取到对应的网址 /add2/4/5/
注意:注意看重点 add2 变成了 new_add,但是后面的 name='add2' 没改,这时 {% url 'add2' 4 5 %} 就会渲染对应的网址成 /new_add/4/5/#views.py
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
def old_add2_redirect(request, a, b):
return HttpResponseRedirect(
reverse('add2', args=(a, b))
)
#urls.py
url(r'^add2/(\d+)/(\d+)/$', calc_views.old_add2_redirect),
url(r'^new_add/(\d+)/(\d+)/$', calc_views.add2, name='add2'),
之前都是通过简单的django.http.HttpResponse把内容显示到网页上,现在可以通过渲染模板的方式来显示内容。
#1.创建项目和应用
django-admin.py startproject projectname
cd projectname
python manage.py startapp appname
#2.把应用加入到settings.py INSTALLED_APPS当中
#3.在appname/views.py 当中写一个首页的视图
from django.shortcuts import render
def home(request):
home render(request,'home.html')
#4. 在appname下新建templates文件夹,里面新建一个home.html
#默认配置下django会自动找到app下面的templates文件夹中的模板文件
#5. 修改home.html
#6. 将视图函数对应到网址,更改projectname/urls.py
from appname import views as appname_views
urlpatterns = [
url(r'^$',appname_views.home,name='home'),
]
#7.创建数据库表
python manage.py migrate
#8.运行开发服务器
python manage.py runserver
注意几点:#views.py
def home(request):
string = u'Hello world!'
return render(request,'home.html',{'string':string})
#home.html
{{ string }}
2024 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123