почему у меня возникают проблемы с импортом представлений в файле urls.py? - PullRequest
0 голосов
/ 29 мая 2019

from employee import views не работает! ... сервер дает страницу не найдена (404) ответ здесь - структура проекта:

employee
  migrations folder
....other files
   views.py
hrdjango
 __init__.py
 settings.py
 urls.py

Мне кажется, что URL не могут получить доступ к моейviews это views.py

from .models import Employee  
# Create your views here.  
def emp(request):  
    if request.method == "POST":  
        form = EmployeeForm(request.POST)  
        if form.is_valid():  
            try:  
                form.save()  
                return redirect('/show')  
            except:  
                pass  
    else:  
        form = EmployeeForm()  
    return render(request,'index.html',{'form':form})  
def show(request):  
    employees = Employee.objects.all()  
    return render(request,"show.html",{'employees':employees})  
def edit(request, id):  
    employee = Employee.objects.get(id=id)  
    return render(request,'edit.html', {'employee':employee})  
def update(request, id):  
    employee = Employee.objects.get(id=id)  
    form = EmployeeForm(request.POST, instance = employee)  
    if form.is_valid():  
        form.save()  
        return redirect("/show")  

from django.contrib import admin  
from django.urls import path  
from employee import views  
urlpatterns = [  
    path('admin/', admin.site.urls),  
    path('emp', views.emp),  
    path('show',views.show),  
    path('edit/<int:id>', views.edit),  
    path('update/<int:id>', views.update),  
    path('delete/<int:id>', views.destroy),  
]  

urls.py

У меня возникла проблема с разрешением импорта 'employee'message

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Это проект urls.py или уровень приложения urls.py?Если это уровень вашего приложения urls.py, то импорт должен быть from . import views.Если это уровень проекта urls.py, то опубликуйте свою файловую структуру, чтобы мы могли увидеть, является ли структура импорта неправильной.

0 голосов
/ 29 мая 2019

Я думаю, что лучшим решением было бы использовать отдельный файл urls.py для отдельных приложений и затем включить их в свои корневые URL.

создать в вашем приложении urls.py.

в корне urls.py

from django.urls import path,include

urlpatterns = [
   ...,
   ...,
   path('employee/', include('employee.urls')),
]


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...