urlpatterns = [ # (?P<pk>[0-9]+) => valor en parámetro pk (?P<pk>), que será 1 o más números del 0 al 9 url(r'^admin/', include(admin.site.urls)), # urls nombradas url(r'^blogs/$', BlogsView.as_view(), name='blog_home'), # listado de blogs, con vista basada en clase BlogsView url(r'^$', HomeView.as_view(), name='post_home'), # listado de posts publicados, con vista basada en clase HomeView url(r'^blogs/(?P<username>[a-z]+)/$', UserPostsView.as_view(), name='blog_posts'), # listado posts blog usuario, basada en la clase UserPostView url(r'^blogs/(?P<username>[a-zA-Z]+)/(?P<post_id>[0-9]+)$', DetailView.as_view(), name='post_detail'), # detalle post, basado en clase DetailView url(r'^signup/$', SignupView.as_view(), name='user_signup'), # signup o creación de cuenta de usuario, con vista basada en clase SignupView url(r'^login$', LoginView.as_view(), name='user_login'), # login, con vista basada en clase LoginView url(r'^logout$', LogoutView.as_view(), name='user_logout'), # logout, con vista basada en clase LogoutView url(r'^new-post/$', CreateView.as_view(), name='post_create'), # creación nuevo post, con vista basada en clase CreateView # Users' API URLs url(r'^api/1.0/users/$', UserListAPI.as_view(), name='user_list_api'), # url con listado de users para la API, basado en clases url(r'^api/1.0/users/(?P<pk>[0-9]+)$', UserDetailAPI.as_view(), name='user_detail_api'), #url detalle usuario para la api # Posts' API URLs url(r'^api/1.0/blogs/(?P<username>[a-z]+)/$', PostListAPI.as_view(), name='post_list_api'), # API listado de posts de blog url(r'^api/1.0/posts/(?P<pk>[0-9]+)$', PostDetailAPI.as_view(), name='post_detail_api'), # API detalle de post: CRUD. # Blogs' API URLs url(r'^api/1.0/blogs/$', BlogListAPI.as_view(), name='blog_list_api') # API listado blogs ]
from blogs.api import BlogsListAPI, BlogDetailAPI from posts.api import PostListAPI, PostDetailAPI urlpatterns = [ url(r'^admin/', include(admin.site.urls)), #Posts URLs url(r'^$', HomeView.as_view(), name='posts_home'), url(r'^blogs/(?P<pk>[-\w]+)/(?P<idPost>[0-9]+)/$', DetailPostView.as_view(), name='post_detail'), url(r'^new-post$', CreatePostView.as_view(), name='create_post'), url(r'^update-post/(?P<pk>[-\w]+)/(?P<idPost>[0-9]+)/$', UpdatePostView.as_view(), name='update_post'), # Posts API URLs # Listado de posts para la home/Creacion de un post nuevo url(r'api/1.0/posts/$', PostListAPI.as_view(), name='post_list_api'), #Blogs URLs url(r'^blogs/$', BlogsView.as_view(), name='blogs'), url(r'^blogs/(?P<pk>[-\w]+)/$', DetailBlogView.as_view(), name='blog_detail'), # Blogs API URLs # Listado de blogs url(r'api/1.0/blogs/$', BlogsListAPI.as_view(), name='blog_list_api'), # Detalle de un blog: listado de posts del blog url(r'api/1.0/blogs/(?P<pk>[-\w]+)/$', BlogDetailAPI.as_view(), name='blog_detail_api'), # Detalle/Actualizacion/Borrado de un post url(r'api/1.0/blogs/(?P<pk>[-\w]+)/(?P<idPost>[0-9]+)/$', PostDetailAPI.as_view(), name='blog_detail_api'), #Users URLs url(r'^login', LoginView.as_view(), name='users_login'),
from users.api import UserDetailUpdateDeleteAPI, UserCreateAPI from users.views import logout, loginView, signupView urlpatterns = [ path('admin/', admin.site.urls), path('login/', loginView.as_view(), name="login_page"), path('logout/', logout, name="logout_page"), path('blogs/<str:username>/<int:pk>', PostDetailView.as_view(), name="post_detail_page"), path('blogs/<str:username>/', MyPostsView.as_view(), name="post_detail"), path('blogs/', BlogsListView.as_view(), name="blogslist"), path('new-post/', NewPostView.as_view(), name="newpost_page"), path('signup/', signupView.as_view(), name="signup_page"), path('', HomeView.as_view(), name="home_page"), # API REST path('api/1.0/users/<int:pk>/', UserDetailUpdateDeleteAPI.as_view(), name="api_user_detailcreatedelete"), path('api/1.0/users/', UserCreateAPI.as_view(), name="api_user_creation"), path('api/1.0/blogs/', BlogsListAPI.as_view(), name="api_blogs_list"), path('api/1.0/posts/<str:username>/<int:pk>/', PostDetailUpdateDeleteAPI.as_view(), name="api_post_detailcreatedelete"), path('api/1.0/posts/<str:username>/', PostListAPI.as_view(), name="api_post_list"), path('api/1.0/posts/', PostCreateAPI.as_view(), name="api_post_creation") ]
from posts.api import PostListAPI, PostDetailAPI, UserPostListAPI from posts.views import posts, user_posts, NewPostView, PostDetail urlpatterns = [ path('', posts, name='home'), path('admin/', admin.site.urls), path('blogs/', blogs, name='blogs'), path('blogs/<str:nombre_de_usuario>/', user_posts, name='user_posts_list'), path('blogs/<str:nombre_de_usuario>/<int:post_id>/', PostDetail.as_view(), name='post_detail'), path('login/', LoginView.as_view(), name='login'), path('logout/', LogoutView.as_view(), name='logout'), path('signup/', signupview, name='signup'), path('new-post/', NewPostView.as_view(), name='new-post'), #API URLS path('api/v1/users/', UsersApi.as_view(), name='apiv1-users'), path('api/v1/users/<int:pk>/', UserDetailAPI.as_view(), name='apiv1-user-detail'), path('api/v1/blogs/', BlogsApi.as_view(), name='apiv1-blogs'), path('api/v1/posts/', PostListAPI.as_view(), name='apiv1-posts'), path('api/v1/posts/<int:pk>/', PostDetailAPI.as_view(), name='apiv1-post-detail'), path('api/v1/posts/mine/', UserPostListAPI.as_view(), name='apiv1-user-mine'), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
from posts.api import PostListAPI, PostDetailAPI from posts.views import PostDetail, PostCreationView from django.conf.urls import url urlpatterns = [ # web urls url(r'^posts/(?P<pk>[0-9]+)$', PostDetail.as_view(), name='post_detail'), url(r'^newpost$', PostCreationView.as_view()), # api urls url(r'^api/1.0/posts/$', PostListAPI.as_view(), name='api_post_list'), url(r'^api/1.0/posts/(?P<pk>[0-9]+)$', PostDetailAPI.as_view(), name='api_post_list'), ]