天天看点

Django学习笔记-Demo

做一个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