package是一个包,有init文件
directory文件夹就没有
从页面到views配置路径,页面请求,views返回给页面数据。
views到页面有没有配路径
settings里面根路径blog1.urls-->输入blog.urls-->输入regist路径和调用views方法-->views 页面:/blog/regist 包含关系
views功能:读取数据库,页面跳转
页面返回参数:
views: return render(request,'regist.html',{'mess':'用户名存在'})
返回页面:{{mess}} #django自带模板
后生成的APP在settings里自己添加
pycharm命令窗口打开:Ctrl+alt+R
1.makemigrations blog 生成0001文件
2.sqlmigrate bloguser 0001 使用这个生成sql语句
3.migrate blog 0001 执行到数据库,有表
页面先访问后台,在访问页面,直接访问页面不行
转发:跳转不变。带参,重写
重定向:把返回的数据拿出来,重新做成新方法。
1.根路径
path('blog/',include('blog.urls',namespace='user'))
2.
app_name='user' urlpatterns = [ path('show/<int:id>',views.show,name='blogShow'), ]
3.
def show(request,id): bloguser=BlogUser.objects.get(pk=id) return render(request,'suc.html',{'bloguser':bloguser})
def regist(request): if request.method=='GET': return render(request,'regist.html') else: uname=request.POST.get('username') pwd=request.POST.get('pwd') bloguser=BlogUser() bloguser.userName=uname bloguser.pwd=pwd try: bloguser.save() print('save ok...') return redirect(reverse('user:blogShow', args=[bloguser.id]))#重定向 except: return render(request,'regist.html',{'mess':'用户名存在'})
数据库用户名不能重复:
在models.py设置unique=True在创建表 或者直接在数据库改
STATIC_URL='/static/' #前面有杠就是根路径,没杠是当前路径
http://127.0.0.1:8000/ 是根路径
用ajax 把jQuery拿进来
在settings配置静态文件和路径:
STATICFILES_DIRS=[#这是目录,路径和目录建立映射关系,如果路径和目录是一样名字,容易看出 os.path.join(BASE_DIR, 'static') ] STATIC_URL='/static/'#路径