Django2.0笔记(一)

Django2.0笔记(一)

1 django install

2 django-admin stratproject name

3 vi settings.py

4 vim urls.py

映射

url(r'^$','blog.views.home')

Django 2.0 使用的是path re_path

5 django-admin startapp blog

6 vi blog/views.py

from django.http import HttpResponse

def index(req):

return HttpResponse('<h1>hello word</h1>')

7 python manage.py runserver

 

流程:

定义url映射:url(r’^$’,’blog.views.home’) 前面是一个正则,

url(r’^a$’,’blog.views.home’). http://127.0.0.1:8000/a

Django使用的是path

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from   django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from . import views
from article.views import article_detail, article_list
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',  views.index),
    path('article/<int:article_id>', article_detail, name='article_detail'),
    path('article/', article_list,name='article_list'),

]

 

第二个参数指向了要处理的方法。

python manage.py migrate

初始化数据库

python manage.py createsuperuser

可以创建superuser(超级管理员)admin/admin123

文章页面:

python manage startapp article

打开一个app

修改article中的models,添加两个类型,在从mysite的setting中关系到新的app,然后同步数据库(通过同步数据库达到新建三个字段,一个是id,一个title,一个content)

然后在article的admin.py下引入article

这样可以从后台管理界面来添加删除刚刚定义的两个字段内容

在article的views中添加一个

在全局url中修改

接下来引用从后台添加的三个文章并显示出来

第一步:先引用article下的models

引入进去后

再次访问127.0.0.1:8000/article/1

end

前后端分离:

第一步创建一个模版文件夹templates

第二部创建模版文件article_detail.html

把return的内容复制到模版文件中

文章list功能

先在article/views.py中添加

def article_list(request):
    articles = Article.objects.all()
    context = {}
    context['articles'] = articles
    return render_to_response("article_list.html",context)

 

创建article_list.html模版

<html>
<head>

</head>
<body>
{% for article in articles %}
<a href="/article/{{ article.id }}">{{article.title}}</a>
{% endfor %}
</body>
</html>

 

然后在从urls中修改

from article.views import article_detail, article_list

path('article/', article_list,name='article_list'),

 

0

Related Posts

Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.