Django-1.8.3新建一个简单的News app——01初探urls views

上一篇,已经在F盘根目录下建立了mysites文件,接下在cmd中输入下列代码:

F:\>cd mysites

F:\mysites>django-admin startapp news

此时F:/mysites/下为:

F:/mysites
│  manage.py
│
├─mysites
│      settings.py
│      urls.py
│      wsgi.py
│      __init__.py
│
└─news
    │  admin.py
    │  models.py
    │  tests.py
    │  views.py
    │  __init__.py
    │
    └─migrations
            __init__.py
打开mysites/mysites/settings.py,在INSTALLED_APP中,添加 news

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
   <span style="color:#ff0000;"> 'news', </span>    # 就是这个货啦,每次添加后不要忘记 "<span style="color:#ff0000;">,</span>"
)
可以先到cmd中 python manage.py runserver, 就会出现如下信息:

F:\mysites>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.
August 27, 2015 - 18:24:42
Django version 1.8.3, using settings 'mysites.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
此时,就可以在浏览器输入 http://127.0.0.1:8000/,会看到下述信息。



再打开mysites/mysites/urls.py,输入下列代码:

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
   <span style="color:#ff0000;"> url(r'^news/', include('news.urls')),   # 这货的目的就是,正则匹配 ^news/,url符合该正则的,就调用 news/urls.py 的相关方法。</span>
]
新建mysites/news/urls.py

from django.conf.urls import url
from news import views

urlpatterns = [
    url(r'^$', views.index),
]
下面以 http://127.0.0.1:8000/news 大概说一下我对这两个urls.py的理解,

1.  当着浏览器中输入上述链接时, 在mysites/mysites/urls.py中,正则匹配到,告知具体方法不知道,你自己去‘news.urls’中去找

2. 然后转入news/urls.py, 发现正则匹配到了,告知调用 views下的index方法(当然此时,index我们还未设置)。如果没有匹配的,网页就会报错啦。

我们再去设置news/views.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
    return HttpResponse('Hello Django')
此时,在浏览器中输入 http://127.0.0.1:8000/news 就会出现Hello Django 啦

当然也可return HttpResponse('<h1>HELLO DJANGO</h1>')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章