Django学习笔记-Demo

版权声明:欢迎转载,转载需要明确表明转自本文 https://blog.csdn.net/u012442157/article/details/78883932

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

其目录结构如图所示

django目录

这里要回想上一篇的学习:

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

效果如图所示:
image

四、出现的一些问题

如图所示:

image

这里还提示用CTRL + BREAK,但是我习惯了CTRL + C结束了。
那么这个默认的8000端口就会被占用。
当我runserver另外一个django项目的时候,发现打开的是之前的一个项目。
然后就要找到之前的进程,kill掉在重新布置就好了。
参考另外一篇博客:
http://blog.csdn.net/u012442157/article/details/78884417

猜你喜欢

转载自blog.csdn.net/u012442157/article/details/78883932