做一个demo
还是在实践中学习吧
一、新建一个项目
django-admin startproject project_name
//or
django-admin.py startproject project_name
网上说如果是pip安装的要用django-admin.py
,但是我在windows上仍然是使用
django-admin startproject project_name
在linux服务器上也是使用的这个命令,不用加上.py
其目录结构如图所示
这里要回想上一篇的学习:
setting.py
是Django的配置文件,比如DEBUG的开关,静态文件的位置等等。 urls.py
是Django的中设置网址的入口,关联到对应的views.py
中的一个函数。就是当我们访问一个网址的时候,就是用户发送一个请求,被Django拦截到了,然后用对应的函数(好像是根据name对应的)进行处理。 wsgi.py
是Django中部署服务器的时候要用到的。
二、新建一个应用
python manage.py startapp newapp1
现在的目录如下:
然后要把我们新建的app加到setting.py
中的INSTALL_APPS
中:
修改demo_first/demo_first/setting.py
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'newapp1',
]
那么这一步的作用呢?新建的app如果不加入到INSTALL_APPS
中的话,Django就不能自动找到app中的模板文件(也就是newapp1/templates/html,css)和静态文件(newapp1/static/文件)
三、定义视图函数(访问页面时候的内容)与函数对应的URL
在newapp1文件加下,打开views.py
,修改其中的代码:
# -*- coding: utf-8 -*-
from django.http import HttpResponse
def index(request):
return HttpResponse(u"接收这个请求后,返回的数据")
相应的在urls.py
中,我们加入了一条规则:
from django.conf.urls import url
from django.contrib import admin
from newapp1 import views as newapp1_views
urlpatterns = [
# 新加入的规则,当链接除了ip和端口号,没有其他信息的时候,对应index函数
url(r'^$', newapp1_views.index),
url(r'^admin/', admin.site.urls),
]
上面这段程序就是在我们发送127.0.0.1:8000
这个请求的时候,执行index函数,并返回一些信息。
在cmd中执行python manage.py runserver
效果如图所示:
四、出现的一些问题
如图所示:
这里还提示用CTRL + BREAK,但是我习惯了CTRL + C结束了。
那么这个默认的8000端口就会被占用。
当我runserver另外一个django项目的时候,发现打开的是之前的一个项目。
然后就要找到之前的进程,kill掉在重新布置就好了。
参考另外一篇博客:
http://blog.csdn.net/u012442157/article/details/78884417