I am new to django and I want to set my homepage url
My homepage is 127.0.0.1:8000/home but I want my homepage at 127.0.0.1:8000/ or I want my django start as 127.0.0.1:8000/home as default. How do I do it?
Use empty string in url path instead 'home/' for root url
For example:
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('app_name.urls'))
]
for urls in your app
urlpatterns = [
path('', views.home, name="home"))
]
Related
Here is something i wanna ask if i try this code i can go to login page but my url look like this http://127.0.0.1:8000/%2Flogin/. What is this %2F?
urlpatterns = [
path("", views.index, name="index"),
path("<str:slug>", views.redirect, name='redirect'),
path('/login/', views.logIn, name='login')]
And i remove slash from login url i get an error message
Page not found (404) Request Method:
GET Request URL:
http://127.0.0.1:8000//login/
after removing slashes here is the code
urlpatterns = [
path("", views.index, name="index"),
path("<str:slug>", views.redirect, name='redirect'),
path('login', views.logIn, name='login')]
So, i wanna know is that why are the slashes affecting the url for login but not <str:slug>
Try this:
urlpatterns = [
path("login/", views.logIn, name='login'),
path("<str:slug>/", views.redirect, name='redirect'),
path("", views.index, name="index")
]
The order of the entries matter and always add a trailing /, unless you have root like views.index
I made url for signUp page.
but it returns 404 error.
all of the other urls work well.
I don't know the reason.
main urls
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('mobileWeb.urls')),
path('api/', include('api.urls')),
]
Application urls
urlpatterns = [
path('', views.index, name='index'),
path('index', views.index, name='index'),
path('addComment', views.addComment, name='addComment'),
# users
path('signUp', views.signUp, name='signUp'),
path('accounts/', include('allauth.urls')),
path('martDetail/<int:martId>', views.martDetail, name='martDetail'),
path('trade/<int:itemId>', views.trade, name='trade'),
path('registerMart', views.registerMart, name='registerMart'),
path('registerItem', views.registerItem, name='registerName'),
path('delete', views.delete, name='delete'),
path('deleteMart', views.deleteMart, name='deleteMart'),
path('deleteItem', views.deleteItem, name='deleteItem'),
path('purchaseItem', views.purchaseItem, name='purchaseItem'),
path('selectItem', views.selectItem, name='selectItem'),
path('addStatistics', views.addStatistics, name='addStatistics'),
path('viewStatistics', views.viewStatistics, name='viewStatistics'),
path('imtPosRegister', views.imtPosRegister, name='imtPosRegister'),
path('imtPosRegisterTest', views.imtPosRegisterTest, name='imtPosRegisterTest'),
path('imtPosSaleInfoTest', views.imtPosSaleInfoTest, name='imtPosSaleInfoTest'),
path('imtPosSaleConfirmTest', views.imtPosSaleConfirmTest, name='imtPosSaleConfirmTest'),
path('fsOe9ms1b', views.fsOe9ms1b, name='fsOe9ms1b'),
path('fsOe9ms1b_ma', views.fsOe9ms1b_ma, name='fsOe9ms1b_ma'),
path('ssOe9ms1b', views.ssOe9ms1b, name='ssOe9ms1b'),
path('ssOe9ms1b_ma', views.ssOe9ms1b_ma, name='ssOe9ms1b_ma'),
path('tsOe9ms1b', views.tsOe9ms1b, name='tsOe9ms1b'),
path('tsOe9ms1b_ma', views.tsOe9ms1b_ma, name='tsOe9ms1b_ma'),
path('writeChatting', views.writeChatting, name='writeChatting'),
path('imageUploadChatting', views.imageUploadChatting, name='imageUploadChatting')
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
404 in web browser
404 in console
The url path matching is case-sensitive. In your paths you wrote:
path('signUp', views.signUp, name='signUp'),
with uppercase U in signUp. I would however advise to use only lowercase, and rewrite this to:
path('signup/', views.signUp, name='signUp'),
The same with other paths in your urls.py.
Try visiting http:\127.0.0.1:8000\signUp
I'm using Django-oscar for my project. After Django-oscar config, I can see localhost:8000 empty, Instead, I want to redirect to localhost:8000/Catalogue Page
urls.py
urlpatterns = [
url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^admin/', admin.site.urls),
url(r'', application.urls),
]
I expected output is. when i run localhost:8000 it should take to localhost:8000/catalogue
How do I make django to redirect from www.example.com to www.example.com/home ?
Below you can see my urlpaterns and I'm using url(r'', RedirectView.as_view(pattern_name='home', permanent=False))to redirect to my /home page but when it detects a link without / at the end it redirects me to the /home page.
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^home/', views.home, name="home"),
url(r'^surukkam/$',views.shrink,name="surukkam"),
url(r'^(?P<inputURL>[0-9a-zA-Z]+)/$',views.retrieve,name="virivu"),
url(r'', RedirectView.as_view(pattern_name='home', permanent=False))
]
it is redirecting because you missed ^$ at the end of home URL.
urlpatterns = [
url(r'^admin/$', admin.site.urls),
url(r'^home/$', views.home, name="home"),
url(r'^surukkam/$',views.shrink,name="surukkam"),
url(r'^(?P<inputURL>[0-9a-zA-Z]+)/$',views.retrieve,name="virivu"),
url(r'^$', RedirectView.as_view(pattern_name='home', permanent=False))
]
^$ - it is a regular expression that specifies the start and end points of a URL string.
whenever your Django detects the empty string it will direct to this URL.
I have these URL files:
project/url:
urlpatterns = [
url(r'^$', include(public)), <--- URL IN ERROR!!!!
url(r'^member/', include(mviews)),
url(r'^admin/', admin.site.urls),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
public/url:
urlpatterns = [
url(r'^$', views.index),
url(r'^login/', views.login)
]
mviews/url:
urlpatterns = [
url(r'^$', views.index),
url(r'^api/', include(router.urls)),
]
in the first URL file, the first URL where it says include(public) is erroring out. How do I set it so public is the "home" url group? Thanks.
I think here you have typo, your the name of file is wrong(url.py), It should be urls.py
And if above line holds then you can achieve grouping urls from public module by following
url(r'^home/', include('public.urls')),
url(r'^member/', include(mviews)),
url(r'^admin/', admin.site.urls),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))