django 第一个demo网站

来源:互联网 发布:枚举 c语言 编辑:程序博客网 时间:2024/06/06 02:38

model.py 创建model

from django.db import modelsfrom  django.utils import timezone# Create your models here.class Post(models.Model):    title = models.CharField(max_length= 200)    subTitle =  models.CharField(max_length= 200)    content = models.TextField(default="")    pub_date = models.DateTimeField(default=timezone.now)    class Meta:        ordering = ('-pub_date',)    def __str__(self):        return self;

记得使数据库生效

python manage.py makemigrations mainsitepython manage.py migrate

创建后台管理页面

Python manage.py createsuperuser

admin.py

from django.contrib import adminfrom .models import Post# Register your models here.class PostAdmin(admin.ModelAdmin):    list_display = ('title','pub_date')admin.site.register(Post,PostAdmin)

访问 http://127.0.0.1:8000/admin 进行管理

创建主页面
view.py

from django.shortcuts import renderfrom  django.http import HttpResponsefrom  .models import  Postfrom  datetime import  datetimefrom  django.template.loader import get_template# Create your views here.def homepage(request):    template = get_template("index.html")    posts = Post.objects.all()    now = datetime.now()    html =template.render(locals())    return HttpResponse(html)

setting.py

 TEMPLATES = [    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',      -->  'DIRS': [os.path.join(BASE_DIR,"templates")],        'APP_DIRS': True,        'OPTIONS': {            'context_processors': [                'django.template.context_processors.debug',                'django.template.context_processors.request',                'django.contrib.auth.context_processors.auth',                'django.contrib.messages.context_processors.messages',            ],        },    },]    

urls.py

from django.conf.urls import urlfrom django.contrib import adminfrom mainsite.views import homepageurlpatterns = [     url(r'^$',homepage),    url(r'^admin/', admin.site.urls),]

添加templates文件夹
index.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>欢迎来到我的博客</title></head><body>    <h1>欢迎来到我的博客</h1>    <hr>    {% for post in posts %}    <p>{{post.title}}</p>    <p>{{post.content}}</p>   {% endfor %}    <hr>    <h3>now time :{{now}}</h3></body></html>